2014-10-01 36 views
0

我有這個問題,這個代碼完美的控制我的控件數組的第一個控件,但如何將它應用到許多項目,如「product_discount [1到n] [customer_group_id]」沒有添加一個「id」attrib?jQuery的多個控件由名稱改變ID

$('select[name="product_discount[0][customer_group_id]"]').change(function() { 
    var selected_discount = $('option:selected', this).attr("group_discount"); 
    $('input[name="product_discount[0][percentage_discount]"]').val(selected_discount); 
}); 

THX安德烈

+1

可以共享HTML – 2014-10-01 10:09:47

回答

0

您可以將屬性^(開頭)和$(的endsWith)選擇

$('select[name^="product_discount"][name$="customer_group_id"]').change(function() { 
    var selected_discount = $('option:selected', this).attr("group_discount"); 
    $('input[name="product_discount[0][percentage_discount]"]').val(selected_discount); 
}); 
+0

喜anoop 似乎不工作..但更進一步,我必須傳遞元素的ID [0到n。]到最後一行 $ ( '輸入[名稱= 「product_discount [0] [PERCENTAGE_DISCOUNT]」]')VAL(selected_discount); – andymo 2014-10-01 10:46:56

+0

@andymo分享您的html .. – 2014-10-01 11:46:11

0
<table class="list" id="discount"> 
            <tbody id="discount-row0"> 
       <tr> 
       <td class="left"><select name="product_discount[0][customer_group_id]"> 
                  <option value="1" group_discount="12">Default</option> 
                       <option selected="selected" value="2" group_discount="50">prova</option> 
                  </select></td> 
       <td class="right"><input type="text" size="2" value="0" name="product_discount[0][quantity]"></td> 
       <td class="right"><input type="text" size="2" value="0" name="product_discount[0][priority]"></td> 
       <td class="right"><input type="text" value="3" name="product_discount[0][percentage_discount]"> %</td> 
       <td class="right"><input type="text" value="0.0000" name="product_discount[0][price]"></td> 
       <td class="left"><input type="text" class="date hasDatepicker" value="0000-00-00" name="product_discount[0][date_start]" id="dp1412160209055"></td> 
       <td class="left"><input type="text" class="date hasDatepicker" value="0000-00-00" name="product_discount[0][date_end]" id="dp1412160209056"></td> 
       <td class="left"><a class="button" onclick="$('#discount-row0').remove();">Rimuovi</a></td> 
       </tr> 
      </tbody> 
            <tbody id="discount-row1"> 
       <tr> 
       <td class="left"><select name="product_discount[1][customer_group_id]"> 
                  <option selected="selected" value="1" group_discount="12">Default</option> 
                       <option value="2" group_discount="50">prova</option> 
                  </select></td> 
       <td class="right"><input type="text" size="2" value="0" name="product_discount[1][quantity]"></td> 
       <td class="right"><input type="text" size="2" value="0" name="product_discount[1][priority]"></td> 
       <td class="right"><input type="text" value="3" name="product_discount[1][percentage_discount]"> %</td> 
       <td class="right"><input type="text" value="0.0000" name="product_discount[1][price]"></td> 
       <td class="left"><input type="text" class="date hasDatepicker" value="0000-00-00" name="product_discount[1][date_start]" id="dp1412160209057"></td> 
       <td class="left"><input type="text" class="date hasDatepicker" value="0000-00-00" name="product_discount[1][date_end]" id="dp1412160209058"></td> 
       <td class="left"><a class="button" onclick="$('#discount-row1').remove();">Rimuovi</a></td> 
       </tr> 
      </table> 
+0

hi @Anoop 任何想法 – andymo 2014-10-03 07:49:02

+0

已解決 http://jsfiddle.net/bu4sesv1/3/ – andymo 2014-10-11 12:36:08