今天遇到一個小需求,用bootstrap的table只有兩個字段,占用太寬,頁面不美觀,組長要求用拼接,一行幾列的形式展現出來。我在form表單中拼接了span,遇到以下問題:
1.點擊查詢,以前生成的span不消失,新的拼接在后面
2.span中的復選框,值的取出,復選框的狀態更換
對於職場老手來說,這沒什么,但是js代碼沒接觸多久的我來說,只能撞牆尋出口,邊撞邊試。
----》對與span不消失:
獲取途徑,分享是最好的途徑:
https://blog.csdn.net/changqing5818/article/details/54313132
我選擇的是遍歷form刪除,下面是代碼
$('span', form).each(function(){ $(this).remove(); }); /*這里的form,我換成了$("#"+id)*/
------》對與復選框的取值
1).復選框若是value,直接$(this).val();若是自定義,則是$(this).attr("name");比如
$('input[class="checkbox"]:checked').each(function(){ /*對於選中復選框的value取值*/ $(this).val(); /*自定義取值*/
$(this).attr("自定義的名字");
});
2).復選框的狀態
對於全選用prop,prop() 方法設置或返回被選元素的屬性和值。全選、取消全選的事件 使用prop可以避免版本迭代的bug,避免出現只能全選一次
function selectAll(){ if ($("input[name='ck']").prop("checked")) { $("input[type='checkbox'][name='cks']").prop("checked",true);//全選 } else { $("input[type='checkbox'][name='cks']").prop("checked",false); //取消全選 } }
復選框就是根據checked的true或false改變狀態,在遍歷的選中復選框下,改變復選框對象obj.checked=false就改變了。