更新下一个元素
问题描述:
我有这样的代码:更新下一个元素
<div class="trackOn" id="line1">
<span class="trackCounter">1</span>
<span class="trackTime1">
<select name="hours[]" class="trackInputDate" onChange="updateHours(this.value)" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
<span class="trackTime2"></span>
<span class="trackTime3"></span>
</div>
<div class="trackOn" id="line2">
<span class="trackCounter">2</span>
<span class="trackTime1">
<select name="hours[]" class="trackInputDate" onChange="updateHours(this.value)" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
<span class="trackTime2"></span>
<span class="trackTime3"></span>
</div>
<div class="trackOn" id="line3">
<span class="trackCounter">3</span>
<span class="trackTime1">
<select name="hours[]" class="trackInputDate" onChange="updateHours(this.value)" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
<span class="trackTime2"></span>
<span class="trackTime3"></span>
</div>
<div class="trackOn" id="line4">
<span class="trackCounter">4</span>
<span class="trackTime1">
<select name="hours[]" class="trackInputDate" onChange="updateHours(this.value)" >
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</span>
<span class="trackTime2"></span>
<span class="trackTime3"></span>
</div>
现在,举例来说,如果我从#line2
选择值3
我想改变下选择的价值boxex(在#line3
和#line4
上的那些)在3
。
答
这将是更好的附加事件处理程序使用jQuery:
$('.trackInputDate').change(function() {
updateHours($(this).val()); // or was `updateHours` supposed to be the
// function that should handler the update?
$(this).closest('.trackOn')
.nextAll('.trackOn')
.find('.trackInputDate').val($(this).val());
});
的DOM必须完全解析之前,您可以附加的事件处理程序。因此,要么把代码中ready()
事件处理程序:
$(function() {
// code here
});
或把它在页面的底部。
是的updateHours()是fucntion,但我可以避免它,并使用此事件处理程序......好多了:)无论如何,我得到这个错误对象#没有方法'VAL'' – markzzz 2011-04-26 14:11:49
I目前有问题连接到jsfiddle.net,但我会尽快提供演示。 – 2011-04-26 14:12:22
@markzzz:这是一个错字,我在'(this)'前面忘了'$'。固定。 – 2011-04-26 14:13:12