请参阅下面的示例。我正在尝试将 Mike 输入到输入中,然后点击“删除输入”以从页面中删除输入。当用户键入值时,DOM 中的值似乎没有更新。我怎样才能解决这个问题?
示例:http: //jsfiddle.net/ZMSaD/
请参阅下面的示例。我正在尝试将 Mike 输入到输入中,然后点击“删除输入”以从页面中删除输入。当用户键入值时,DOM 中的值似乎没有更新。我怎样才能解决这个问题?
示例:http: //jsfiddle.net/ZMSaD/
试试这个:
$("#remove").click(function() {
$("input").filter(function(){
return this.value === "Mike"
}).remove()
});
该值在 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)
});
然后您的原始代码将起作用。