0

ユーザーがさらにサービスを追加できるように、選択オプションの入力を複製しています。複製部分は正常に機能していますが、フォームを送信すると、最初のオリジナルの選択しか表示されません。

選択IDをインクリメントする必要があると思います.eg id="serviceId_2"

検索して検索しましたが、IDをインクリメントする方法が見つかりません。

JQuery

$('#clone').click(function() {
    var original = $('#serviceId:eq(0)');
    var allSelects = $('#serviceId');
    var clone = original.clone();

    $('select', clone).filter(function(i) {             

        allSelects.find('option:selected[value="' + $(this).val() + '"]').length;
        allSelects.attr('id','asda');

    }).remove();



    $('#target').append(clone).append('<br />');
});

誰かが同様の問題を抱えていましたか?

乾杯

J

4

2 に答える 2

0

以下のようにしてみてください、

var clone = original.clone().attr('id', 'serviceId_2');

あなたの関数はあまり明確ではないので、ここでは完全なコードを出すつもりはありません。クローンの後にクローン要素の.attrを変更するために使用するという考えです。ID

于 2012-05-31T14:46:24.543 に答える
0
var original = $('#serviceId:eq(0)');
var allSelects = $('#serviceId');
var clone = original
                  .clone()
                  .attr('id', 'serviceId_' + $('select[id^=serviceId]').length + 1);

selectid始まる既存の長さをカウントしserviceId、次に増加1して一意にします。

または、1回だけクローンしたい場合は簡単です

var clone = original.clone().attr('id', 'serviceId_2');
于 2012-05-31T14:43:25.387 に答える