选择同一div内的元素

Eug*_*ala 1 javascript jquery

我有4个输入类型和两个具有相同名称的div.

<div>
<input class="palmetta" type="checkbox" name="palmetta[]" value="1"> Palmetta
<input class="palmettah" type="text" value="0" name="palmetta[]" ><br>
</div>

<div>
<input class="palmetta" type="checkbox" name="palmetta[]" value="1"> Palmetta
<input class="palmettah" type="text" value="0" name="palmetta[]" ><br>
</div>
Run Code Online (Sandbox Code Playgroud)

div当我检查第一个"palmetta"时,有一种方法只能在第一个目标上定位"palmettah" div吗?

我创造了这个:

$("div .palmetta").change(function() {

if(this.checked) {
    $(".palmettah").prop('disabled', true);
} else {
    $(".palmettah").prop('disabled', false);
}

});
Run Code Online (Sandbox Code Playgroud)

此脚本禁用所有,palmettah但我只需禁用已检查输入的palmettah内部div.

Pra*_*lan 8

根据该使用next()方法的change event fired元素选择input元素,因为它紧邻复选框.虽然如果这里不需要条件,而是使用this.checked方法中的第二个参数prop().

$("div .palmetta").change(function() {
    // get the element `this` refers to it's dom object
    $(this)
       // get the element next to it
       .next()
       // update `disabled` property based on 
       // `checked` property of checkbox
       .prop('disabled', this.checked);
});
Run Code Online (Sandbox Code Playgroud)

$("div .palmetta").change(function() {
  $(this).next().prop('disabled', this.checked);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input class="palmetta" type="checkbox" name="palmetta[]" value="1">Palmetta
  <input class="palmettah" type="text" value="0" name="palmetta[]">
  <br>
</div>

<div>
  <input class="palmetta" type="checkbox" name="palmetta[]" value="1">Palmetta
  <input class="palmettah" type="text" value="0" name="palmetta[]">
  <br>
</div>
Run Code Online (Sandbox Code Playgroud)