使用ajax和jquery动态创建的jsp中table1(#tbl1)中的复选框,其id为:id =“123”(firstId)
$.each(json, function(idx, obj) {
$("#tbl1").append('<input type="checkbox" id='+obj.firstId+' onclick=nextPopulate('+obj.firstId+'); >'); }
在table2(#tbl2)中,复选框是在检查tbl1中的复选框时创建的,其id将为:
id =“123-001”(firstId-secondId)
$.each(json, function(idx, obj) {
$("#tbl2").append('<input type="checkbox" id="'+firstId+'-'+secondId+'" >'); }
在我的javascript中,如果未选中tbl1中的复选框,我正在使用ajax调用删除tbl2中的复选框。
第二组复选框的ID如下:“123-001”,“123-002”,“123-003”,“456-001”
因此,要删除id为以firstId(123)开头的tbl2的所有复选框,如果在tbl1中取消选中ID为123的复选框。
我该怎么做?
我可以使用.empty()。但是如何将id指定为'以firstId'开头(123)
我正在尝试:
if(!($('#'+firstId).is(':checked'))){
$('#'+firstId'-').empty();
答案 0 :(得分:0)
很简单。使用attr选择器:
$('[id^=123]')
答案 1 :(得分:0)
您可以使用Attribute Starts With Selector [name^="value"]
$('[id^=123-]:not(:checked)').empty();
或者,您可以使用删除
$('[id^=123-]:not(:checked)').remove();
您也可以尝试拨打.not(':checked');
$('[id^=123-]').not(':checked').remove();
描述:选择具有指定属性的元素,其值始于给定字符串。
答案 2 :(得分:0)
您可以使用^
if(!($('[$id^="firstId"]').is(':checked'))){
$(this).empty();
答案 3 :(得分:0)
$("[id^=check"+webId+"]").fn();
这里,check是一个我们硬编码的字符串,动态地采用了webClassId。
因此,例如:将考虑以check101开头的id。