选择多个输入字段

时间:2013-04-24 09:18:45

标签: javascript jquery

我想选择一些隐藏的字段并循环遍历它们。字段如下:

<form method="post" action="" id="uitjes">    
    <input type="hidden" value="3" name="form-0-Workshops">
    <input type="hidden" value="ochtend" name="form-0-Dagdeel">
    <input type="hidden" value="1" name="form-0-Aantal">
    <input type="hidden" value="1" name="form-0-Workshops">
    <input type="hidden" value="middag" name="form-0-Dagdeel">
    <input type="hidden" value="1" name="form-0-Aantal">
    <input type="hidden" value="2" name="form-0-Workshops">
    <input type="hidden" value="middag" name="form-0-Dagdeel">
    <input type="hidden" value="1" name="form-0-Aantal">
</form>

我这样选择它们:

var form = $("#uitjes");
form.find('input[name$="Workshops"]').each(rename);
form.find('input[name$="Dagdeel"]').each(rename);
form.find('input[name$="Aantal"]').each(rename);

在这种情况下,工作坊的选择包括3个要素: [input 1, input 1, input 3]

问题是所有下一个元素都会计入一个元素(4): [input#id_form-0-Dagdeel, input ochtend, input middag, input middag]

因此我的循环工作效果不如预期。

第一个元素的选择是首选行为。我不明白为什么第一个选择与下一个选择不同。

我这样做的原因是重命名字段以获得如下输出:

<form method="post" action="" id="workshops">
    <input type="hidden" value="3" name="form-0-Workshops">
    <input type="hidden" value="ochtend" name="form-0-Dagdeel">
    <input type="hidden" value="1" name="form-0-Aantal">
    <input type="hidden" value="1" name="form-1-Workshops">
    <input type="hidden" value="middag" name="form-1-Dagdeel">
    <input type="hidden" value="1" name="form-1-Aantal">
    <input type="hidden" value="2" name="form-2-Workshops">
    <input type="hidden" value="middag" name="form-2-Dagdeel">
    <input type="hidden" value="1" name="form-2-Aantal">

因此我调用此函数(感谢@epascarello):

function rename (i) {
    var parts = this.name.split("-");
    parts[1] = i;
    this.name = parts.join("-");
}

0 个答案:

没有答案