jQuery select2 select etiketinin değerini alıyor mu?


98

Merhaba arkadaşlar bu benim kodum:

<select id='first'>
  <option value='1'> First  </option>
  <option value='2'> Second </option>
  <option value='3'> Three  </option>
</select>

Bu benim select2 kodum:

$("#first").select2();

Aşağıda seçilen değeri almak için kod bulunmaktadır.

$("#first").select2('val'); // It returns first,second,three.

Bu gibi bir metin dönüşü first,second,threeve almak istiyorum 1,2,3.
Metnin değil, seçim kutusunun değerine ihtiyacım olduğu anlamına gelir.


JSFiddle sağlayabilir misiniz? Çok faydalı olur.
Ionică Bizău

1
soru net değil. tam olarak ne istiyorsun?
Hiral

Yanıtlar:


153
$("#first").val(); // this will give you value of selected element. i.e. 1,2,3.

5
$ ("# ilk"). val (); // 1,2,3 VEYA $ ("# ilk") döndürür. select2 ('val'); // birinci, ikinci, üç döndürür
Renish Khunt

$ ("# ilk"). val (); 1,2,3 (hangisi seçiliyse) döndürecektir ve kodu daha fazla ayrıntı için select2 () işlevine kaydedebilirsiniz.
somesh

sınıf adı yerine kimlik adıyla çağrılan bir seçim için, şunu kullanın: $ (". first"). val ()
Rui Martins

@RuiMartins yanlış. Kimlikler "#" ile çağrılır ve sınıflar "." İle çağrılır, bu nedenle kimliğe göre aramak için $ ("# ilk"). Val () ve SINIF için $ (". İlk" kullanırsınız. ) .val ()
Source Matters

60

Kullanabileceğiniz Select elementini almak için $('#first').val();

Seçilen değerin metnini almak için - $('#first :selected').text();

Lütfen select2()fonksiyon kodunuzu gönderebilir misiniz


1
$ ("# ilk"). val (); // 1,2,3 VEYA $ ("# ilk") döndürür. select2 ('val'); // birinci, ikinci, üç döndürür
Renish Khunt

Emin değilim, sorunuzu anladım.
Krish R

1
select2 eklentisini kullandığımda $ ("# ilk"). val () kullanarak değer elde ederim. boş döndüğü hiçbir şey döndürmez.
Renish Khunt

Eklentinizle keman örneği sağlayabilir misiniz?
Krish R

1
$('#first :selected').text();Diğer seçeneği kullanmak zorunda kaldım, tüm olası seçenekleri iade etmekti.
Jeff Bluemel


9

Ajax kullanıyorsanız , seçimin hemen ardından güncellenmiş seçim değerini almak isteyebilirsiniz .

//Part 1

$(".element").select2(/*Your code*/)    

//Part 2 - continued 

$(".element").on("select2:select", function (e) { 
  var select_val = $(e.currentTarget).val();
  console.log(select_val)
});

Kredi: Steven-Johnston


Merhaba, nereden currentTargetgeldiğini öğrenebilir miyim? ID / ad örneğinizden hiçbiri Soru ile ilgili değil. Bu yüzden hiçbir yerde ilişki kuramıyorum.
mastersuse

8

Bu çözüm, seçilen öğeyi unutmanıza izin verir. Belirli öğelerde bir kimliğiniz olmadığında faydalıdır.

$("#first").select2()
.on("select2:select", function (e) {
    var selected_element = $(e.currentTarget);
    var select_val = selected_element.val();
});

4

Basit cevap:

$('#first').select2().val()

ve bu şekilde de yazabilirsiniz:

 $('#first').val()

3

Bunu dene :

$('#input_id :selected').val(); //for getting value from selected option
$('#input_id :selected').text(); //for getting text from selected option

@RenishKhunt buradaki cevaplar sadece sizin için değil (soruyu soran kişi), aynı zamanda bu sayfayı gören diğer insanlar için de. Ve burada ne kadar farklı çözümler sunulursa, o kadar iyi seçim yine herkese olur: sadece siz değil :)
infografnet

Evet üzgünüm. Teşekkürler, @infografnet ve bir cevap gönderdiğiniz için çok teşekkürler Fahmi Imanudin :)
Renish Khunt

2

Bu kemanı görün .
Temel olarak, almak istiyorum valuesenin lerini option-tags, ama her zaman senin değerini elde etmeye çalışmak selectile -node $("#first").val().

Bu yüzden seçenek etiketlerini seçmeliyiz ve jQuerys seçicilerini kullanacağız:

$("#first option").each(function() {
    console.log($(this).val());
});

$("#first option")id'li optionöğenin alt öğesi olan her birini seçer first.


$ ("# ilk"). val (); // 1,2,3 VEYA $ ("# ilk") döndürür. select2 ('val'); // birinci, ikinci, üç döndürür
Renish Khunt

Görünüşe göre sorunuzu yanlış anladım, o zaman lütfen tam olarak ne elde etmek istediğinizi açıklayın.
KeyNone

select2 eklentisini kullandığımda $ ("# ilk"). val () kullanarak değer elde ederim. boş döndüğü hiçbir şey döndürmez.
Renish Khunt

Bu kemanı görün . Benim için mükemmel çalışıyor. (Dış kaynakların altına select2.js ekledim, ancak kutuların neden çirkin göründüğünü anlayamıyorum).
KeyNone

anahtar, seçenek etiketlerinin değerini almak istediğimizi söylemenizdi!
Darius.V


0

Diğer cevaplar benim için işe yaramadı, bu yüzden bir çözüm geliştirdim:

Kolay hedefleme için class = "option-item" seçeneğiyle seçenek oluşturdum

HTML:

<select id="select-test">
<option value="5-val" id="first-id" class="option-item"> First option </option>
</select>

Sonra her seçili seçenek için hiçbir özelliği gösterme

CSS:

option:checked {
   display: none;
}

Şimdi , seçili seçeneğimizi gösterme özelliği olmayan basit : gizli özniteliğiyle bulmak için SelectBox'ımıza değişiklik ekleyebiliriz.

JQuery:

$('#select-test').change(function(){
//value 
    $('#select-test').find('.option-item:hidden').val();
//id
    $('#select-test').find('.option-item:hidden').attr('id');
//text
    $('#select-test').find('.option-item:hidden').text();
});

Çalışma keman: https://jsfiddle.net/Friiz/2dk4003j/10/


0

Çözüm :

var my_veriable = $('#your_select2_id').select2().val();
var my_last_veriable = my_veriable.toString();
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.