1

我有一个表单,您可以在其中通过单击添加按钮在第一步中填充数据来添加字段。在第二步中,我想显示此数据,但我的循环不正确。

这是原始表。通过单击添加按钮,生成具有新 ID(item2、Diitem2...)的新 tr-tag。

<table cellpadding="0" cellspacing="0" class="table" id="rp-article">
    <tbody>
        <tr class="rowb">
            <td class="col1 cell">
                <input disabled="disabled" id="count1" maxlength="10" name="count1" size="1"
                type="text" value="1" />
            </td>
            <td class="col2 cell">
                <input id="item1" maxlength="100" name="item1" size="15" type="text" value="Artikelnummer"
                />
            </td>
            <td class="col3 cell">
                <input id="Ditem1" maxlength="100" name="Ditem1" size="48" type="text"
                value="Beschreibung..." />
            </td>
            <td class="col4 cell">
                <input id="Aitem1" maxlength="100" name="Aitem1" size="5" type="text"
                value="Menge" />
            </td>
            <td class="col5 cell">
                <input id="Pitem1" maxlength="100" name="Pitem1" size="10" type="text"
                value="Preis" />
            </td>
            <td class="col6 cell">
                <select id="Ritem1" name="Ritem1">
                    <option>Retourengr&uuml;nde:</option>
                    <option>Ware falsch geliefert / falscher Inhalt</option>
                    <option>Ware falsch bestellt</option>
                    <option>Ware gef&auml;llt nicht</option>
                    <option>Ware passt nicht</option>
                    <option>Ware doppelt geliefert</option>
                    <option>Sonstiges</option>
                    <option>Ware defekt/besch&auml;digt/fehlerhaft</option>
                </select>
        </tr>
    </tbody>
</table>

现在我想抓住它们并在 p-Tags 中显示它们(n 是 tr 数量的计数变量):

for (var x = 1; x = n; x++) {
  $('#pt_title2').after('<p id=#pt_article' + x'></p>');
  $('#pt_article'+x).html('<b>#' + x'</b>'); 
}
4

1 回答 1

1

您的 for 循环不正确。试试这个:

for (var x = 1; x < n; x++) { // <--- note the < instead of =
  $('#pt_title2').after('<p id=#pt_article' + x + '></p>'); // you were missing a +
  $('#pt_article'+x).html('<b>#' + x + '</b>');  // same here
}

现在循环将运行只要x小于n... 我认为你想要的。

如果您希望循环运行直到 x 具有与 n 相同的值,您可能需要使用<=(小于或等于)。取决于您如何为元素设置计数、ID 等。

for 循环条件不是“在此为真时运行”,而是“此为真时运行”。

您还应该查看 jQuery 的each 函数

于 2012-09-27T08:10:17.557 回答