Html代码:
<input type="text" name="input-1" class="input-1" value="001 / 2007">
<input type="button" id="asd" value="check">
JS代码
$(document).ready(function (){
$("#asd").click(function (){
alert($("input[value='001 / 2007']").val());
$("input[value='001 / 2007']").val("001-2007");
});
});
更改后,通过Jquery更改的值不可用于输入[value ...]选择器,它仍然基于旧值进行选择。 这是实时代码http://jsfiddle.net/WwRVy/, 那么问题是如何根据最新值选择输入?
答案 0 :(得分:1)
为什么不根据名称或只选择类?
$("#asd").click(function (){
$("input[name='input-1']").val("001-2007");
});
答案 1 :(得分:0)
试试这个
Html代码:
<input type="text" name="input-1" class="input-1" value="001 / 2007">
<input type="button" id="asd" value="check">
JS代码
$(document).ready(function (){
$("#asd").click(function (){
alert($("input").val());
$("input").val();
});
});
答案 2 :(得分:0)
我的猜测是,jQuery .val()
方法会更改属性值,而jQuery选择器会使用属性。有几种解决方法,即使用jQuery对象的[0]
表示法并更改其value
属性或使用.attr()
更改它:
$("input[value='001 / 2007']").attr("value", "001-2007");
P.S。:您最好更改选择该元素的方式,即为其分配id
或class
。
答案 3 :(得分:0)
它是一个臭名昭着的JavaScript问题, 尝试
alert($('input[value="001 / 2007"]').val());
请注意,单引号和双引号是交换的
答案 4 :(得分:0)
答案 5 :(得分:0)
尝试
$(document).ready(function (){
$("#asd").click(function (){
var inputs = $('input').filter(function(){
return $(this).val() == '001 / 2007';
});
alert(inputs.val());
inputs.val("001-2007");
});
});
演示:Fiddle