0

我的 if 语句有问题,但我无法正确获取代码。

divs在一个带有表单元素的页面上有多个。我有一个重置按钮,可以清除所有输入字段,.val(" ")但我需要以input[type=button]某种方式排除。

我对 if 语句知之甚少,而且格式肯定在某处出错。

<!-- Reset only current div -->
$('.reset_form').live('click', function() {
    $(this).parents("div.menu_creation_form").find("input").val('');
    if () {
        $(this).parents("div.menu_creation_form").find("input[type=button]").val();
    }
    else() {
        // do nothing
    }
});​
4

3 回答 3

1

您只能使用相同类型的属性选择器选择文本输入:

$(this).parents("div.menu_creation_form").find("input[type=text]").val('');

type但是,如果您没有将属性显式设置为等于,这将不起作用text。如果您不使用 type 属性,则将使用默认值并呈现一个文本框,但此选择不会找到它。为了解决这个问题,您可以使用:text选择器:

$(this).parents("div.menu_creation_form").find("input:text").val('');

不过,我认为后一种方法要慢一些。

于 2012-10-02T22:25:25.730 回答
1

你首先不需要 if-else ..试试这个

  $(this).parents("div.menu_creation_form").find("input:not([type=button])").val('');
于 2012-10-02T22:28:01.080 回答
1

HTML:

<div class="menu_creation_form">
    <input type="button" value="Clear" class="reset_form" />
    <input type="text" value="Jim" />
</div>

​jQuery:

​$('.reset_form').click(function() {
    $('input').not('[type="button"]').val('');
});​​​​​​​​​​​​​

小提琴:http: //jsfiddle.net/gromer/kuu26/1/

关键是使用.not. if根本不需要。

于 2012-10-02T22:28:48.280 回答