在使用jQuery输入值后,如何通过它的值选择输入?

时间:2012-09-17 17:47:49

标签: jquery

请参阅下面的示例。我正在尝试将Mike输入输入,然后点击“删除输入”以从页面中删除输入。当用户键入值时,似乎不会在DOM中更新值。我怎么能绕过这个?

示例:http://jsfiddle.net/ZMSaD/

2 个答案:

答案 0 :(得分:3)

试试这个:

$("#remove").click(function() {
    $("input").filter(function(){
       return this.value === "Mike"
    }).remove()
});

http://jsfiddle.net/N6pw6/

答案 1 :(得分:1)

该值已在DOM中更新,您可以使用alert($('#testing').val());#testing作为您要删除的输入)进行检查。

但是$("input[value='Mike']").remove();似乎检查源HTML中编写的HTML属性的值。奇怪的是,HTML 属性在此上下文中未更新。

试试这个反直觉的例子。在value="foo"输入上设置#testing并在运行时在控件中键入“Mike”,然后:

alert($('#testing').attr('value'));    // Mike
alert($('input[value="foo"]').val());  // Mike

但是,您可以通过显式指定更改属性来强制更新:

$('input').bind('change',function() {
    $(this).attr('value',this.value)
});

然后你的原始代码就可以了。