2017-03-23 21 views
0

異なる言語を選択すると、JavaScript/jquery関数を使用して2つの選択フィールドをselectとして保持する方法を教えてください。変更時に選択されたJquery選択オプション

STRG + mouselickは動作しますが、私はそれを望んでいません。

<fieldset class="form-group"> 
    <select class="form-control" multiple="multiple"> 
     <option value="bg">Bulgarisch</option> 
     <option value="da">Dänisch</option> 
     <option value="de" data-type="edit" selected="selected">Deutsch</option> 
     <option value="en" data-type="edit" selected="selected">Englisch</option> 
     <option value="et">Estnisch</option> 
     <option value="fi">Finnisch</option> 
    </select> 
</fieldset> 

https://jsfiddle.net/j280fhuu/

+2

[Javascriptを使用してマルチ選択ボックスでCtrlキーを押しながらクリックする必要性を回避する方法](http://stackoverflow.com/questions/8641729/how-to-avoid-the-need-for -ctrl-click-in-a-multi-select-box-using-javascript) –

答えて

0

あなたはこのようにそれを行うことができます。

$("#language_selection_audio").change(function(){ 
    $(this).find("option[data-type='edit']").prop('selected', true) 
}) 

https://jsfiddle.net/j280fhuu/3/

1

あなたはmousedownイベント

FIDDLE

を使用することができますこのよう

$('option').mousedown(function(e) { 
    e.preventDefault(); 
    $(this).prop('selected', $(this).prop('selected') ? false : true); 
    return false; 
}); 
0

あなたはこの

$(document).ready(function() { 
    $('#language_selection_audio').val(['de', 'en']); // Pass an array, for multiple selections 
    $('#language_selection_audio :selected').attr('data-type', 'edit'); // Add custom attribute 
}); 
のように書くことができ

JS Fiddle Here.

0

これが役立つかどうかわかりません。それを試してみてください! 私はあなたが望むものを明確に理解できません。

var $input = $('#language_selection_audio'); 

function markLangs(langs){ 
    $input.find('option').removeAttr('data-type').attr('selected',false); 

    $.each(langs, function(i){ 
     $input.find('option[value=' + langs[i] + ']').attr('data-type','edit').attr('selected',true);    
    });    
}; 

$input.on('change', function(){ 
    markLangs($(this).val()); 
}); 

yaを参照してください。

関連する問題