当选择一个选项时,我有一个表单要显示输入框。
问题:我允许用户动态地添加更多的表单元素,因此id的计数增加了,而且我不知道如何针对当前的表单输入,而不是每个表单输入。
以为例,在用户添加第二个表单项后,我有类似于以下内容的内容:
<div class="option-wrapper">
<div id="condition-1" class="condition">
<select id="option-1" class="option">
<option value="0">Select...</option>
<option value="1">Option One</option>
<option value="2">Option Two</option>
</select>
<select id="operator-1" class="operator">
<option value="0">Select...</option>
<option value="1">greater than</option>
<option value="2">less than</option>
</select>
<div id="input-1" class="form-input" style="display:none;">
<input id="form-input-1" class="form-input"></input>
</div>
</div>
</div>
<div class="option-wrapper">
<div id="condition-2" class="condition">
<select id="option-1" class="option">
<option value="0">Select...</option>
<option value="1">Option One</option>
<option value="2">Option Two</option>
</select>
<select id="operator-2" class="operator">
<option value="0">Select...</option>
<option value="1">greater than</option>
<option value="2">less than</option>
</select>
<div id="input-2" class="form-input" style="display:none;">
<input id="form-input-2" class="form-input"></input>
</div>
</div>
</div>试图通过使用form-input将#input-2作为目标显示为。只想为当前选项显示它-包装器,在用户当前正在使用的包装器中。
目前正在尝试:
$('.operator').change(function() {
switch (this.value) {
case '0':
break;
case '1':
$(this).parents('.form-input').toggle();
break;
}
});我知道这种对父母的使用是错误的,我尝试了很多不同的方式,但没有达到我想要的。任何帮助都是感激的,谢谢!
发布于 2012-05-21 18:41:37
这个怎么样:
$(this).siblings(".form-input").toggle();它使用类.form-input获取同级元素。
发布于 2012-05-21 18:54:54
我猜当您选择..form input时,您将得到至少2个元素: div和input。用一个做会出现吗?你能试试这个吗?
$(this).parent().find('.form-input')[0].toggle();https://stackoverflow.com/questions/10690705
复制相似问题