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を介して動的に削除した後。(2番目のものを削除しているとしましょう)したがって、新しいものは次のように表示されます。

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 に答える