时间:2015-07-14 06:38:47

标签: javascript jquery html

我的表单中没有idclass。我需要为输入元素插入属性值。

<form>
    <tr><td><input type="text" name="x"/></td></tr>
    <tr><td><input type="text" name="y"/></td></tr>
    <tr><td><input type="text" name="z"/></td></tr>
</form>

这是我试过的jquery:

var x = $('form').find('input').first().val("some_value");
var y = $('form').find('input').second().val("some_value");
var z = $('form').find('input').third().val("some_value");

//还有另一种可能的方法吗?

var x  = $("form").find('input[name="x"]').val("some_value");

5 个答案:

答案 0 :(得分:2)

您可以使用Attribute Equals Selector [name=”value”]来唯一标识输入

$('input[name=x]').val("some_value1");
$('input[name=y]').val("some_value2");
$('input[name=z]').val("some_value3");

虽然我不推荐您用于为输入赋值的方法,但我建议您使用find()一次并使用返回的对象集合来指定值。这将减少处理时间并提高性能。

var all = $('form').find('input');
all.eq(0).val("some_value1");
all.eq(1).val("some_value2");
all.eq(2).val("some_value3");

答案 1 :(得分:1)

您可以使用

$("form").find('input[type="text"]]').each(function() {
    $(this).attr("your attribute", "your value");
});

答案 2 :(得分:1)

试试这个

&#13;
&#13;
var x  = $('form input[name="x"]').val("some_value_x");
&#13;
&#13;
&#13;

答案 3 :(得分:1)

//因此,您可以在表单中搜索所有输入元素,然后迭代以应用该属性。

 var allInputElements = $("form input[type='text']");
   $.each(allInputElements,function(index, item){
       $(item).attr("disabled","true");      
      // You can also use item.prop("any property or attribute","value");
   });

答案 4 :(得分:1)

如果您按照问题中显示的那样给予他们所有相同的价值,您只需选择所有值:

$("form input").val("some_value");