我的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
}
});
答案 0 :(得分:1)
您只能使用相同类型的attribute selector选择文字输入:
$(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('');
我认为后一种方法有点慢。
答案 1 :(得分:1)
首先你不需要if-else ..试试这个
$(this).parents("div.menu_creation_form").find("input:not([type=button])").val('');
答案 2 :(得分: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
。