今天遇到一个小需求,用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就改变了。