1

我正在动态生成一些下拉列表,然后允许它们中的一些在船上动态删除。所以那个时候,我遇到了选择选项(下拉)元素id不匹配的错误。像下面的东西是。

新添加的下拉菜单。

select name="CSSAtapsClient[client_time_window_arr][0]" id="client_time_window_0">/select>
select name="CSSAtapsClient[client_time_window_arr][1]" id="client_time_window_1">/select>
select name="CSSAtapsClient[client_time_window_arr][2]" id="client_time_window_2">/select>
select name="CSSAtapsClient[client_time_window_arr][3]" id="client_time_window_3">/select>

在我通过javascript动态删除它们之后。(假设我正在删除第二个)所以新的将显示如下,

select name="CSSAtapsClient[client_time_window_arr][0]" id="client_time_window_0">/select>
    select name="CSSAtapsClient[client_time_window_arr][2]" id="client_time_window_2">/select>
    select name="CSSAtapsClient[client_time_window_arr][3]" id="client_time_window_3">/select>

所以现在我遇到的问题是,下拉列表的名称是这样的,(0,2,3)

CSSAtapsClient[client_time_window_arr][0], 
CSSAtapsClient[client_time_window_arr][2], 
CSSAtapsClient[client_time_window_arr][3] 

所以这对我来说是一个错误,我需要重新排序这个名字并让它像这样,(0,1,2)

CSSAtapsClient[client_time_window_arr][0]
CSSAtapsClient[client_time_window_arr][1]
CSSAtapsClient[client_time_window_arr][2]

我怎样才能简单地重命名这些下拉列表名称属性(从 0 到有多少下拉列表存在)?感谢早日回复

编辑 1

我试过这个,但没有奏效。

$('#tbl_dynamic_call_dates select').each(function(i){
$(this).attr('name',"CSSAtapsClient[client_time_window_arr][i]");
});
4

2 回答 2

2

您可以使用以下方法简单地重置值.attr()

$('#tbl_dynamic_call_dates select').attr('name', function(i) {
   return 'CSSAtapsClient[client_time_window_arr]['+ i +']';
});
于 2013-10-07T07:28:06.027 回答
1

我这样做了,

$('#tbl_dynamic_call_dates select').each(function(i){
 $(this).attr('name',"CSSAtapsClient[client_time_window_arr][" + i + "]");
});
于 2013-10-07T07:34:25.110 回答