使用jQuery获取表单中的所有输入,选择和按钮及其订单号

时间:2014-10-20 10:17:18

标签: javascript jquery html

请参阅此代码:

<form id=form1>
    <input name="TextBox1" type="text" value="1111111111" id="TextBox1" />
    <input name="TextBox2" type="text" value="222222222" id="TextBox2" />
    <select name="DropDownList1" id="DropDownList1">
       <option value="1">1</option>
       <option value="2">2</option>
       <option value="3">3</option>
    </select>
    <input id="CheckBox1" type="checkbox" name="CheckBox1" />
    <label for="CheckBox1">nima</label>
    <input id="Button1" type="button" value="button" />
</form>

我希望使用带有订单号的jquery来获取表单中的所有控件元素。例如:

ElementID       order number
--------------------------------
TextBox1              1
TextBox2              2
DropDownList1         3
CheckBox1             4
Button1               5

我怎么能这样做? 感谢

3 个答案:

答案 0 :(得分:2)

您可以使用:input.each()作为订单号:

$('#form1 :input').each(function(index)
{
    console.log(this.id + " " + (index + 1));
});

Fiddle

答案 1 :(得分:1)

您可以通过执行$('#form1').children()来获取表单中的所有子元素,这只会返回表单的直接子项(即<option>内没有<select>标记。)

然后,您可以在每个元素上调用.index()以在http://api.jquery.com/index/

形式中获取其顺序

答案 2 :(得分:1)

不是层次编号,而是索引。

$.each($('#form1').find('input, select'), function()
{
    alert('Index: ' + $(this).index());
});

或者,如果您需要连续数字

$.each($('#form1').find('input, select'), function(counter)
{
    alert('Index: ' + counter);
});