2017-03-23 23 views
0

所选择的Jquery选择选项我如何才能让两个选定字段选择使用JavaScript/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单击-IN-A-多选料箱使用的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。