2017-10-03 12 views
1

部屋の詳細を複製し、選択した部屋の数に基づいて追加する機能があります。クローン作成後、私はその部屋に存在する各要素のIDを変更しています。 2つのドロップダウンリストと1つのラベルのIDを正常に変更できます。しかし、別のドロップダウンリストのIDを変更することはできません。ここで私を助けてください。私はこれに対する解決策を見つけることができません。クローン作成後のドロップダウンリストのIDを変更できません

enter image description here

PICは追加見つけてください。この写真では、子供の年齢のボックスだけのIDを変更することはできません。

function dynamicRoom(rooms) { 
    var i = parseInt($('div[id^="room"]:last').prop("id").match(/\d+/g), 10); 

    for (i; i < rooms; i++) { 
     var $div_room = $('div[id^="room"]:last'); 
     var num_room = parseInt($div_room.prop("id").match(/\d+/g), 10) + 1; 
     var x = num_room - 1; 
     var $klon_room = $div_room.clone().prop('id', 'room' + num_room); 
     $klon_room.find('#ddlAdults' + x).attr("id", "ddlAdults" + num_room); 
     $klon_room.find('#ddlChild' + x).attr("id", "ddlChild" + num_room); 
     $klon_room.find('#childAgeCollapse' + x + 1).hide(); 
     $klon_room.find('#childAgeCollapse' + x + 1).attr("id", "childAgeCollapse" + num_room + 1); 

     $klon_room.find('#ddlchildAge' + x + 1).attr('id', 'ddlchildAge' + num_room + '1'); //THIS is WHERE I FOUND ISSUEs 

     $klon_room.find('#childAge' + x + 1).prop("id", "childAge" + num_room + 1); 

     $klon_room.find('#labelRoom' + x).attr("id", "labelRoom" + num_room); 
     $klon_room.find("div.childAgeClass" + x).detach(); 
     $klon_room.find('#labelRoom' + num_room).text('Room ' + num_room); 
     $("#Clone").append($klon_room); 
    } 

} 
+1

代わりに '' #ddlchildAge '+ x + 1'を ''#ddlchildAge11''の代わりに使用しますか? – Satpal

+0

また、次回は '<>'ボタンをクリックし、[mcve] – mplungjan

+0

最後に 'var i = $( 'div [id^=" room "]')を追加してください。長さ – mplungjan

答えて

1

エラーは、ドロップダウンリストのIDに余分なスペースがあったためです。そのスペースを取り除いた後は、すべてうまくいった。

関連する問題