我意识到这个问题与之前提出的一些问题相似,我可能没有得到它,因为现在是晚上 9 点,但我很想得到一点关于如何解决问题的指示。我知道我要去哪里错了,我只是不知道如何解决它:
我正在克隆一个带有 4 个选择框的表格行,我想克隆 id 和名称,但将 id 加一。这就是我目前所拥有的。
$(document).on("click", "#new_item", function() {
var rowCount = $("#widget_location_options tbody>tr:last select").attr("id").match(/\d+/);
var rowCount1 = rowCount*1 + 1;
var row = $("#widget_location_options tbody>tr:last").clone(true);
$("select option:selected", row).attr("selected", false);
$("select", row).attr("name", $("select", row).attr("name").replace(/\d+/, rowCount1) );
$("select", row).attr("id", $("select", row).attr("id").replace(/\d+/, rowCount1) );
row.insertAfter("#widget_location_options tbody>tr:last");
});
问题是它采用了第一个选择的 id 和名称并正确地增加了 id 但将它应用于所有不是我想要的选择。
为清楚起见,我正在克隆的行的 HTML 如下所示:
<tr>
<td><select id="arr_widget_location[1][position_id]" name="arr_widget_location[1][position_id]">
<option value="value">label</option>
</select></td>
<td><select id="arr_widget_location[1][position_id]" name="arr_widget_location[1][position_id]">
<option value="value">label</option>
</select></td>
<td><select id="arr_widget_location[1][position_id]" name="arr_widget_location[1][position_id]">
<option value="value">label</option>
</select></td>
<td><select id="arr_widget_location[1][position_id]" name="arr_widget_location[1][position_id]">
<option value="value">label</option>
</select></td></tr>
希望有人能指出我要去哪里可怕的错误!
非常感谢