带有ajax问题的复选框,用于选择或取消选择问题
Checkbox with ajax issue for select or unselect issue
我有低于格式的html复选框代码
<label class="checkbox-inline">
<input type="checkbox" name="category[]" value="1" data-id="1" class="categorychk" checked="checked">Men
</label>
<label class="checkbox-inline">
<input type="checkbox" name="category[]" value="2" data-id="2" class="categorychk" checked="checked">Women
</label>
在ajax成功响应时,我执行以下jquery代码,它将正常工作。
$.each(data, function(index,value) {
$(".categorychk[data-id="+value+"]").attr("checked",true);
});
但问题是在打电话之前,我清除所有复选标记,然后应用上面的代码。但它不起作用。
当我在ajax调用后添加以下代码时
$(".categorychk").each(function(){
$(this).removeAttr("checked");
});
注意:如果在没有清除复选标记的情况下应用上述代码,则可以使用上一个复选框。
好的。当您应该使用属性时,您正在尝试使用属性。阅读http://api.jquery.com/attr/特别是题为"属性与属性"的部分。
同时,如果您更改,您的代码将起作用
$(".categorychk").each(function(){
$(this).removeAttr("checked");
});
至
$(".categorychk").prop("checked", false);
(注意:你不需要.each(),它会自动对所有选定的项目进行操作)。
并更改
$(".categorychk[data-id="+value+"]").attr("checked",true);
至
$(".categorychk[data-id="+value+"]").prop("checked",true);
请注意使用.pr()而不是.attr()
如我如何检查取消选中复选框输入或单选按钮中所述,您需要使用jQuery道具:
$(".categorychk[data-id="+value+"]").prop('checked', true);
要按数据id过滤元素,可以使用:
$(".categorychk").filter(function() {
return $(this).data('id') == value;
});
相关文章:
- jQuery条件选择问题
- TaffyDB:选择问题
- 如何解决离子应用程序内的文本区域选择问题
- JQuery 动态选项 选择“问题”
- Chrome和Opera中的选项选择问题
- 剑道菜单选择问题
- Jquery日期id选择问题
- JQuery IE选择问题
- d3选择问题offsetParent为null
- Ext JS 4.2:复选框模型选择问题
- 创建Windows 8资源管理器模拟-鼠标选择问题
- Jquery json选择问题
- 选择插件:取消选择问题
- jQuery UI自动选择问题
- 自动完成-自定义renderItem/Menu和项目选择问题
- 关于选择问题
- IE8中jquery上传器(blueimp)的多文件选择问题IE9
- 从D3.js v3迁移到D3.js v4不工作-一个选择问题
- 带有ajax问题的复选框,用于选择或取消选择问题
- jQuery多类选择问题