Layui表單賦初值之 checkbox

問題來源

上回書說到,Layui 在提交表單時對 checkbox 進行驗證,此次依舊是 checkbox,跟它槓上了。
在網頁中有不少時候會用到表單賦初值,Layui 給咱們提供了很是便利的方法: form.val(),可是,這個方法是有必定侷限的,例如在使用這個方法給 checkbox 賦初值時就沒有成功(至少我沒有),可是我又須要用到,Google 也沒找到以爲合適的答案,大多數都說這個須要自行擴展,因此...javascript

解決方法

毫無疑問,最終仍是自行擴展,代碼:html

(假設 HTML 代碼仍是上一篇文章寫到的代碼,不知道?不要緊,Link: Layui提交表單時驗證必選的多選框是否有選中)java

// 假設 data 是後臺獲取的值,數組中的值是與 checkbox 的 value 對應的
let data = [1, 2, 3, 4];
$.each(data, (v) => {
    // 獲取 type 爲 checkbox,name 以 test 開關,value 爲 v 的元素
    let node = $(`input[type="checkbox"][name^="test"][value="${v}"]`);
    if (node && node.length) {
        // 若是元素存在,使其選中
        node[0].checked = true;
        // 這個不能忘了
        form.render();
    }
});

注意

  1. 在獲取元素的時候,要使用 [attribute^=value] 選擇器 The [attribute^=value] 選擇器匹配元素屬性值帶指定的值開始的元素
  2. form.render() 不能忘了,咱們在使用 Layui 進行佈局時,看到的 checkboxradio 已經不是真實的了 (>_<)。
相關文章
相關標籤/搜索