jquery 更改输入字段的所有值属性

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 以便当我们检查元素 "something" 时它反映了这一点:

<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());
})

它会提醒每个值 - 所以选择器很好。

我做错了什么?

简单 $("input").attr("value", "NewString") 适合我。您可以传入一个函数作为第二个参数来根据需要修改值。

See Fiddle

您可以使用 class:

$(function(){
$("#Goo").click(function(){
    $(".test").each(function() {
        $(this).val("otherValue");
    });
});
});

工作fiddle:http://jsfiddle.net/xtzqggot/

Rick 在代码中给出了正确的答案 - 虽然我的问题看起来是正确的,但我在 jsfiddle 中的代码一定有某种未报告的错误,因为它根本不起作用。粘贴来自 Rick fiddle 的代码效果很好。这是我的 fiddle,其中包含答案和更多类型的输入字段。

答案:

<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>

Fiddle为此:

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>