我正在使用选择多重选择 我想要做的是,如果用户选择任何我希望该值的选项,那么我将根据该值执行一些功能。
在没有多重选择的情况下选择我可以使用foll获得所选值。代码
$(".selectId").chosen().change(function(){
selectedValue = $(this).find("option:selected").val();
});
但是在多个选择中我再次获得第一个选定值n 任何人都可以通过在多个选择元素中找到当前选定的值来帮助我吗?
答案 0 :(得分:20)
Chosen documentation提到了获取最近更改的变量的参数。
每当做出选择时,Chosen会触发标准DOM事件 (它还会发送一个选定或取消选择的参数,告诉您 哪个选项已更改)。
因此,如果您只想选择或取消选择最新选项:
$(".selectId").chosen().change(function(e, params){
// params.selected and params.deselected will now contain the values of the
// or deselected elements.
});
否则,如果您希望整个数组可以使用,则可以使用:
$(".selectId").chosen().change(function(e, params){
values = $(".selectId").chosen().val();
//values is an array containing all the results.
});
答案 1 :(得分:13)
简答:
您只需执行此操作:var myValues = $('#my-select').chosen().val();
完整示例:
如果你有这样的选择倍数:
<select id="my-select" class="chzn-select" multiple data-placeholder="Choose one or more values...">
<option value="value1">option1</option>
<option value="value2">option2</option>
<option value="value3">option3</option>
</select>
您可以在数组中获取所选值以执行以下操作:
// first initialize the Chosen select
$('#my-select').chosen();
// then, declare how you handle the change event
$('#my-select').chosen().change(function(){
var myValues = $('#my-select').chosen().val();
// then do stuff with the array
...
});
答案 2 :(得分:1)
你的代码是正确的选择值..但是因为它的多个你需要使用循环...或使用map
来获取所选值并将其推入数组..
试试这个
$(".selectId").chosen().change(function(){
var selectedValue = $.map( $(this).find("option:selected").val(), function(n){
return this.value;
});
console.log(selectedValue ); //this will print array in console.
alert(seletedValue.join(',')); //this will alert all values ,comma seperated
});
<强>更新强>
如果您获得了commaseperated值,请使用split()
var values= $(".selectId").val();
$.each(values.split(',').function(i,v){
alert(v); //will alert each value
//do your stuff
}
答案 3 :(得分:0)
试试这个
$('.selectId:selected').each(function(i, selected) {
var value = $(selected).val();
var text = $(selected).text();
});
答案 4 :(得分:0)
Chosen documentation提到了用于获取最新更改的变量的参数。
$(".CSS Selector").chosen().change(function(e, parameters) {
// params.selected and params.deselected will now contain the values of the
// or deselected elements.
});
答案 5 :(得分:0)
这就是我要使其工作的方式。在我的html中,我有这个
#Two {
display: block;
position: relative;
top: -120px; /*Here must be same value as your navbar height is*/
visibility: hidden;
}
然后使用javascript
<select data-placeholder="Choose a Country..." class="form-control chosen-select" multiple tabindex="4">
<option value="USA">USA</option>
<option value="UK">UK</option>
<option value="CHINA">CHINA</option>
</select>