1

このような選択が2つある場合はどうなりますか?

<select id="A">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

<select id="B">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

選択した値とテキストを選択 A から選択 B に転送するにはどうすればよいですか。変更やクリックに応じてこれが発生することは望ましくありません。後で選択Bウィンドウに表示されるものを選択Aに表示されるものと同期できる方法が必要です

4

5 に答える 5

2

2 つselectの が同じ場合:

これを試すことができます:

  $('#B').val( $('#A').val() );

関数呼び出しでも作成できます。

function changeValue() {
  $('#B').val( $('#A').val() );
}
于 2012-07-29T09:48:42.483 に答える
1

これを試して:

  var selA = $('#A option:selected').val();
  $('#B option[value="'+ selA +'"]').attr('selected', 'selected');

デモを見る(最初の選択を変更した後に変更をクリック)

于 2012-07-29T09:34:40.453 に答える
1

メソッドを使用できますappend()

$('#B').append($('#A option:selected'))

デモ

于 2012-07-29T10:55:08.357 に答える
1

もう 1 つのオプション:

var idx = $('#A option:selected').index();

$('#B option').eq(idx).attr('selected', 'selected');
于 2012-07-29T09:43:47.270 に答える
1

両方のリストが異なる場合

var _AOption = $('#A option:selected');
var _BOptions = $('#B option');
var isInList = 0;
_BOptions.each(function()
{
    $(this).removeAttr('selected');
    if($(this).attr('value') == _AOption.attr('value'))
    {
        $(this).attr('selected', '1');
        isInList = 1;
    }
});

if(isInList  == 0)
{
    $('#B').append('<option selected="1" value="'+_AOption.attr('value')+'" >'+_AOption.html()+'</option>');
}
于 2012-07-29T09:46:59.193 に答える