【问题标题】:jquery show/hide fieldjquery 显示/隐藏字段
【发布时间】:2011-07-16 13:58:03
【问题描述】:

我在让我的文本字段正确隐藏/显示时遇到问题。这是一个例子:

JFiddle Example

我想要的是文本字段仅在所选值等于 1 时显示,而对其他所有内容都隐藏。复选框部分工作正常。

从 jsfiddle 复制的代码:

<html>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<title>Test Page</title>
<body>
  <table id="testList">
    <tbody>
      <tr>
        <td><input type='checkbox'></td>

        <td><select>
   <option value="0">Volvo</option>
   <option value="1">Saab</option>
   <option value="2">Mercedes</option>
   <option value="3">Audi</option><input type='text' style="display: none">
            </select>
</td>
      </tr>
      <tr>

        <td><input type='checkbox'></td>
<td><select>
   <option value="0">Volvo</option>
   <option value="1">Saab</option>
   <option value="2">Mercedes</option>
   <option value="3">Audi</option>
 </select><input type='text' style="display: none">
      </td>
        </tr>
      <tr>
        <td><input type='checkbox'></td>
<td><select>
   <option value="0">Volvo</option>
   <option value="1">Saab</option>
   <option value="2">Mercedes</option>
   <option value="3">Audi</option>
    </select> <input type='text' style="display: none">
</td>
      </tr>
    </tbody>
  </table>
<script>
jQuery(function($) {


      $("select").change(function() {
        var $this = $(this),
            $checkbox = $this.parent().prev().find(":checkbox");

        if ($this.val() != 0) {
        $checkbox.attr("disabled", true);
            if($this.val() == 1){
            $(":text").show();
            }
            else{
                $(":text").hide();
            }    


        } else {
          $checkbox.removeAttr("disabled");
        }

          });

      $(":checkbox").change(function() {
        var $this = $(this),
            $select = $this.parent().next().find("select");

        if ($this.is(":checked")) {
          $select.attr("disabled", true);
        } else {
          $select.removeAttr("disabled");
        }
      });

    });
</script>    
</body>
</html>

【问题讨论】:

    标签: jquery animation textfield


    【解决方案1】:

    http://jsfiddle.net/vsYB8/20/

    您需要$(this).siblings(':text').show(),而不是使用$(':text').show()

    这将选择相应的文本框,而不是全部。

    【讨论】:

    • 当值为 = 0 时,如何让文本字段也隐藏?
    猜你喜欢
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 2013-03-08
    • 2011-02-22
    • 2012-04-15
    • 2011-06-12
    • 2011-01-02
    相关资源
    最近更新 更多