jquery更改输入字段的所有值attr

时间:2015-02-02 18:25:07

标签: jquery selector each attr

这不适用于表单字段。

假设我在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());
})

它警告每个值 - 所以选择器很好。

我做错了什么?

5 个答案:

答案 0 :(得分:1)

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

See Fiddle

答案 1 :(得分:1)

您可以使用课程来完成此操作:

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

工作小提琴:http://jsfiddle.net/xtzqggot/

答案 2 :(得分:1)

Rick在代码中得到了正确的答案 - 虽然我的问题看起来是正确的,但我在jsfiddle中的代码必须有某种未报告的错误,因为它只是不起作用。在里克的小提琴代码中粘贴很好。这是我的答案和更多类型的输入字段。

答案:

<input id="something" value="myvalue">
<input id="somethingelse" value="SE">
<input id="ANum" type="number" value=99>    
<input id="button" type="button" value = "OK">    

something.value = "NEVER";
button.value="Not OK";
ANum.value=9342;

$("input").each(function () {
  $(this).attr("value", this.value);
})

小提琴:

http://jsfiddle.net/t2nrkeyt/

答案 3 :(得分:0)

它可以更简单。那就做吧

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

答案 4 :(得分:0)

您可以使用选择器访问所有后代

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