[英]jquery change all value attr for input fields
这不适用于表单字段。
假设我在 html 中有这个:
<input id="something" value="myvalue">
<input id="somethingelse" value="myvalue">
我有这样做的javascript:
something.value="ME";
somethingelse.value="TOO";
我想操纵 DOM,以便当我们检查元素“某物”时,它反映了这一点:
<input id="something" value="ME">
如果我在 jquery 中明确地这样做,它会起作用:
$("#something").attr("value",something.value.toString());
但我需要更通用的东西 - 我需要更改每个输入项,使其表现得像这样。
所以我试过:
$("input").each(function () {
$(this).attr("value", this.value.toString());
})
但它根本没有改变。 它让它独自一人。
所以我试过这个:
$("input").each(function () {
$(this).attr("value", "NeverA");
})
它也不会改变它。
但我试过了
$("input").each(function () {
alert(this.value.toString());
})
它会提醒每个值 - 所以选择器很好。
我究竟做错了什么?
你可以使用一个类来做到这一点:
$(function(){
$("#Goo").click(function(){
$(".test").each(function() {
$(this).val("otherValue");
});
});
});
简单的$("input").attr("value", "NewString")
对我$("input").attr("value", "NewString")
。 您可以传入一个函数作为第二个参数,以根据需要修改值。
Rick 在代码中给出了正确的答案——尽管我的问题看起来是正确的,但我在 jsfiddle 中的代码肯定有某种未报告的错误,因为它不起作用。 粘贴 Rick 的小提琴中的代码工作正常。 这是我对答案和更多类型的输入字段的摆弄。
答案:
<input id="something" value="myvalue">
<input id="somethingelse" value="SE">
<input id="ANum" type="number" value=99>
<input id="button" type="button" value="OK">
<script>
something.value = "NEVER";
button.value = "Not OK";
ANum.value = 9342;
$("input").each(function () {
$(this).attr("value", this.value);
})
</script>
为此小提琴:
http://jsfiddle.net/t2nrkeyt/
它可以更简单。 去做就对了:
<div id="parentDivID">
<input id="something" value="myvalue">
<input id="somethingelse" value="SE">
<input id="ANum" type="number" value=99>
<input id="button" type="button" value="OK">
</div>
<script>
$("#parentDivID").find('input').val('');
</script>
您可以使用选择器访问所有后代
<div id="parentDivID">
<input id="something" value="myvalue">
<input id="somethingelse" value="SE">
<input id="ANum" type="number" value=99>
<input id="button" type="button" value="OK">
</div>
<script>
$("#parentDivID input").val('');
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.