1

現時点では、追加ボタンをクリックするたびに、私のコードは3つのドロップダウンを複製します。

以前は最初のドロップダウンが自動的にリセットされたが、他の2つはリセットされなかったため、3つのドロップダウンすべてをリセットする方法を考えていたので、行をコピーすることができました。

このJSFiddleで確認するのが最も簡単です。

http://jsfiddle.net/jydqK/7/

したがって、最初のドロップダウンをに変更してから+をクリックすると、2番目の行が重複して表示されますが、agentにリセットしたいのですが、、にリセットします。tagsoperandsvalues

どんな助けでも大歓迎です。

4

3 に答える 3

2

removeAttr を使用してselected属性を削除してから、change() イベントを発生させることができます。

あなたの場合:

dropdownclone.find('select.tags option:selected').removeAttr('selected');
dropdownclone.find('select.tags option:first').attr('selected','selected');
dropdownclone.find('select.tags').trigger('change');

修正例: http: //jsfiddle.net/ZF3mc/2/

于 2011-04-21T14:01:37.307 に答える
1

私があなたの質問を理解した場合、あなたは選択の複製された行がそれらの値をリセットすることを望みます。

この場合、これを削除するだけです。

dropdownclone.find('select').each(function(index, item) {
 //set new select to value of old select
$(item).val( $dropdownSelects.eq(index).val() );
});

次のように置き換えます。

dropdownclone.find('option').attr('selected', false);
于 2011-04-21T13:59:14.613 に答える
-1

クローン内のすべてのドロップダウンを見つけます。ドロップダウンごとに、選択した属性のすべてのオプション タグを確認して削除します。このようなもの:

clone.find('select').each(function() {
    $(this).find('option').each(function() {
        $(this).removeAttr('selected');
    });
});

または、削除する前に :selected フィルターを使用して、選択したオプション タグのみを見つけてください。

于 2013-06-25T04:58:38.553 に答える