使用jquery仅选择下一个

时间:2014-11-15 16:36:30

标签: javascript jquery

我需要一些帮助才能弄明白。 我有一个按钮收音机,当选中此按钮时,他旁边的框必须更改ID(YES ID不是类,绝对需要它作为ID)

<table>
<tr>
  <td>
    <input type="radio" class="attribute_radio" name="contenance" />
 </td>
 <td><a href="">A super link</a>
 </td>
 <td>                       
    <input type="number" name="qty" class="text" size="2" maxlength="3"/>
 </td>
</tr>
<tr>
   <td>
    <input type="radio" class="attribute_radio" name="contenance" />
 </td>
 <td><a href="">A super 2nd link</a>
 </td>
 <td>                       
    <input type="number" name="qty" class="text" size="2" maxlength="3"/>
 </td>
</tr>
</tr>

但是我写的脚本,它将ID应用于所有数字框,而我只想要按钮收音机旁边的唯一一个

$(document).ready(function(){
$("input[type='radio']").click(function(){

    $("input[type='number']").attr('id', 'quantity_wanted');

});

});                                 

http://jsfiddle.net/micheler/y4jrotkc/4/

1 个答案:

答案 0 :(得分:4)

首先,id必须是唯一的。我更喜欢使用类来代替。如果检查无线电,我创建它来改变输入的id:

$('input[type=radio]').click(function() {
  //remove all id from input number
  $('input[type=number]').removeAttr('id');
  //check if radio is checked and apply id to input number next to it
  if($(this).prop("checked"))
    $(this).next().attr('id', 'quantity_wanted')
});
#quantity_wanted {
  background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="page_navigation1">next</div>
<button id="add">Add</button>
<button id="remove">Remove</button>
<p>
  <input type="radio" class="attribute_radio" name="contenance" />
  <input type="number" id="" name="qty" class="text" size="2" maxlength="3" />
</p>
<p>
  <input type="radio" class="attribute_radio" name="contenance" />
  <input type="number" name="qty" class="text" size="2" maxlength="3" />
</p>