2013-03-14 22 views
13

Seçtiğim Çoklu Seçimi Kullan Kullanmak istediğim, kullanıcı herhangi bir seçenek seçtiğinde bu değeri istiyorum ve o değere bağlı olarak bazı işlevler yapacağım.Seçilen jQuery eklentisini kullanarak seçilen her değeri alın

Çoklu seçim olmadan seçildiğinde, foll kullanarak seçili değeri alabilirim.

$(".selectId").chosen().change(function(){ 
    selectedValue = $(this).find("option:selected").val(); 
}); 

Ama birden kod

tekrar ilk seçilen değeri elde n tekrar herkes birden seçme elemanda seçilen geçerli değer bularak bana yardımcı olabilir seçmek ??

cevap

17

Chosen documentation en son değiştirilen değişkenleri almak için parametreleri bahseder. eğer sadece

Chosen triggers the standard DOM event whenever a selection is made (it also sends a selected or deselected parameter that tells you which option was changed).

Yani En son seçeneği seçili veya seçilmemiş:

$(".selectId").chosen().change(function(e, params){ 
// params.selected and params.deselected will now contain the values of the 
// or deselected elements. 
}); 

Aksi takdirde kullanabilirsiniz sizinle çalışmak tüm dizi isterseniz:

$(".selectId").chosen().change(function(e, params){ 
values = $(".selectId").chosen().val(); 
//values is an array containing all the results. 
}); 
1

.kodunuz doğru seçilmiş değeri gettin .. ancak o zamandan beri onun bu

$(".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 
}); 
denemek kullanmak loop..or seçilen değeri almak için map kullanıp .. diziye

itin gerekir birden

güncellenen

sen commaseperated alıyorsanız eğer değerler kullanmak split()

var values= $(".selectId").val(); 
$.each(values.split(',').function(i,v){ 
    alert(v); //will alert each value 
    //do your stuff 
} 
+0

Thanx için anlık yardım Ancak bu hatayı atar: Uncanught TypeError: 'in' işlecini 23 –

+0

'içinde aramak için kullanamazsınız' 23 'garip ...' 1 'için aramak için' in 'operatörünü kullanamazsınız. addcode .. bunu denemeyi denediniz mi .. ve denediniz mi .. tekrar hatayı alıp alamayacağınıza bakın .. – bipen

+0

Her seçim için bazı işlevler yapmak istiyorum. Seçilen tüm öğeleri $ (". SelectId") kullanarak alabilirim. Ama ben tek bir değer istiyorum ve kullanıcı seçtiğim öğeyi seçtiğim öğeyi seçiyorum her seferinde bazı div öğesinde seçili değeri görüntülemek istiyorum –

0

bu

$('.selectId:selected').each(function(i, selected) { 

var value = $(selected).val(); 
var text = $(selected).text(); 

}); 
+0

Hey teşekkürler. Ama \t Her seçim için bazı işlevler yapmak istiyorum. Seçilen tüm öğeleri $ (". SelectId") kullanarak alabilirim. Ama ben tek bir değer istiyorum ve kullanıcı seçtiğim öğeyi seçtiğim öğeyi seçiyorum her bir seçimdeki bazı div öğesinde seçili değeri –

+0

Burada sadece bir değer elde edeceğiniz anlamına gelir. Her döngüde olduğunu gözlemlediğinizde – PSR

+0

Hey hey senaryo: - Ben üç öğe var: item1, item2, item3 ,. Şimdi eğer item3'ü seçersem, item3'ü bazı div elemanlarında göstereceğim. Bundan sonra madde 1'i seçiyorum. Madde1'i seçtiğimde bu değer bu div'a eklenecektir. yani şimdi benim div'im item3 ve item1 var. Bunu aynı sıralamada istiyorum. –

10

Kısa bir yanıt denemek:

sadece bunu: var myValues = $('#my-select').chosen().val();

için tam bir örnek:

bir seçme-birden gibiyse this:

<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> 

yapabilirsiniz aşağıdakileri yaparak bir dizide seçilmiş değerleri almak:

// 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 
    ... 
}); 
İlgili konular