Javascript 如何从标签中获取名称?
我有一个示例代码:Javascript 如何从标签中获取名称?,javascript,jquery,html,Javascript,Jquery,Html,我有一个示例代码: <ul> <li> <input type="checkbox" value="" name="" id="" class="chk"> Test <ul> <li> <input type="checkbox" value="1" name="modem_id[]" id="input_1" class="chk1
<ul>
<li>
<input type="checkbox" value="" name="" id="" class="chk"> Test
<ul>
<li>
<input type="checkbox" value="1" name="modem_id[]" id="input_1" class="chk1"><label>Test 1</label>
</li>
<li>
<input type="checkbox" value="2" name="modem_id[]" id="input_2" class="chk1" checked="checked"><label>Test 2</label>
</li>
</ul>
</li>
</ul>
我已经获取了val_id,但是val_name是错误的,如何从jQuery(this.attr(“name”)获取名称
应获取当前复选框的名称,请尝试:
jQuery('.chk').click(function(){
if (jQuery(this).is(':checked')) {
jQuery(this).parent().find('input:checkbox').attr('checked', true);
var val_id = [];
var val_name = [];
jQuery('input:checkbox[id^=input_]:checked').each(function(i){
val_id[i] = jQuery(this).val();
val_name[i] = jQuery(this).attr("name");// i change this line
console.log(val_id, val_name);// alert() will not show array, see console
});
}
});
demo:如果您试图获取输入复选框旁边的标签标签内的文本,请尝试更改:
val\u name[i]=jQuery(this.parent().val()代码>
对此
val_name[i] = jQuery(this).parent().find('label').html();
但不确定这是否是您想要做的。var-val=[];
var val = [];
var name = [];
jQuery('input:checkbox[id^=input_modem_]:checked').each(function(i){
val[i] = jQuery(this).val();
name[i] = jQuery(this).parent().find('label').html();
});
for(var k=0; k<val.length; k++) {
// working this alert
alert(val[k]); // alert(name[k])
}
变量名称=[];
jQuery('input:checkbox[id^=input\u modem\:checked')。每个(函数(i){
val[i]=jQuery(this.val();
name[i]=jQuery(this.parent().find('label').html();
});
对于(var k=0;k
var val = [];
var name = [];
jQuery('input:checkbox[id^=input_modem_]:checked').each(function(i){
val[i] = jQuery(this).val();
name[i] = jQuery(this).parent().find('label').html();
});
for(var k=0; k<val.length; k++) {
// working this alert
alert(val[k]); // alert(name[k])
}