我正在动态生成一些下拉菜单,然后允许他们中的一些在脑中被删除。所以那个时候,我遇到了选择选项(下拉列表)元素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到现有多少个dropdows)?感谢早日回复
编辑1
我尝试了这个,但没有用。
$('#tbl_dynamic_call_dates select').each(function(i){
$(this).attr('name',"CSSAtapsClient[client_time_window_arr][i]");
});
答案 0 :(得分:2)
您只需使用.attr()
方法重置值:
$('#tbl_dynamic_call_dates select').attr('name', function(i) {
return 'CSSAtapsClient[client_time_window_arr]['+ i +']';
});
答案 1 :(得分:1)
我这样做了,
$('#tbl_dynamic_call_dates select').each(function(i){
$(this).attr('name',"CSSAtapsClient[client_time_window_arr][" + i + "]");
});