-1

サンプルコードがあります:

<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>

そしてjquery

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).parent().val();
            alert(val_id, val_name);
         });
      }
});

val_idを取得しましたが、val_nameはエラーです。名前の取得方法

4

4 に答える 4

1

入力チェックボックスの横にあるラベルタグ内のテキストを取得しようとしている場合は、これを変更してみてください:val_name[i] = jQuery(this).parent().val();

これに

val_name[i] = jQuery(this).parent().find('label').html();

それがあなたがやろうとしていることかどうかはわかりません。

于 2012-06-13T15:10:33.270 に答える
0
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])    
}
于 2012-06-13T15:22:01.160 に答える
0

jQuery(this).attr("名前");

現在のチェックボックスの名前を取得する必要があります

于 2012-06-13T15:07:14.297 に答える
0

試す:

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
         });
      }
});​

デモ: http://jsfiddle.net/2SNQb/

于 2012-06-13T15:08:24.823 に答える