首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >div内部的jQuery目标

div内部的jQuery目标
EN

Stack Overflow用户
提问于 2012-05-21 18:37:11
回答 2查看 278关注 0票数 0

当选择一个选项时,我有一个表单要显示输入框。

问题:我允许用户动态地添加更多的表单元素,因此id的计数增加了,而且我不知道如何针对当前的表单输入,而不是每个表单输入。

为例,在用户添加第二个表单项后,我有类似于以下内容的内容:

代码语言:javascript
复制
<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作为目标显示为。只想为当前选项显示它-包装器,在用户当前正在使用的包装器中。

目前正在尝试:

代码语言:javascript
复制
$('.operator').change(function() {
switch (this.value) {
    case '0':
        break;
    case '1':
        $(this).parents('.form-input').toggle();
        break;
}
});

我知道这种对父母的使用是错误的,我尝试了很多不同的方式,但没有达到我想要的。任何帮助都是感激的,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2012-05-21 18:41:37

这个怎么样:

代码语言:javascript
复制
$(this).siblings(".form-input").toggle();

它使用类.form-input获取同级元素。

票数 1
EN

Stack Overflow用户

发布于 2012-05-21 18:54:54

我猜当您选择..form input时,您将得到至少2个元素: div和input。用一个做会出现吗?你能试试这个吗?

代码语言:javascript
复制
 $(this).parent().find('.form-input')[0].toggle();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10690705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档