javascript - 更改动态添加的选择选项元素的名称

标签 javascript php jquery

我正在动态生成一些下拉菜单,然后允许它们中的一些在船上动态删除。所以那个时候,我遇到了选择选项(下拉)元素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]");
});

最佳答案

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

$('#tbl_dynamic_call_dates select').attr('name', function(i) {
   return 'CSSAtapsClient[client_time_window_arr]['+ i +']';
});

关于javascript - 更改动态添加的选择选项元素的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19218813/

相关文章:

javascript - 在目录中查找文件,扫描其他目录文件并替换所有出现的文件名

javascript - 发送电子邮件,html > jQuery > PHP

javascript - 如何通过Java检测浏览器中是否启用了javascript

javascript - Node/ express 4 : displaying errors with express-validator on ajax post

php - 如何在 PHP 中从数据库填充输入类型文件值?

PHP & MySQL , 获取表

jquery - 通过 Chrome 扩展检测网页中的所有 <object>/<embed> 标签

javascript - 响应当前显示部分的网页元素

php - 带有 JSON 和 PHP 的 AJAX 不返回任何数据......我认为

javascript - Facebook 登录只能使用一次