Chcę wiedzieć, jak wybrać pierwszą opcję we wszystkich tagach select na mojej stronie za pomocą jquery.
próbował tego:
$('select option:nth(0)').attr("selected", "selected");
Ale nie zadziałało
Chcę wiedzieć, jak wybrać pierwszą opcję we wszystkich tagach select na mojej stronie za pomocą jquery.
próbował tego:
$('select option:nth(0)').attr("selected", "selected");
Ale nie zadziałało
Odpowiedzi:
Wypróbuj to ...
$('select option:first-child').attr("selected", "selected");
Inną opcją byłoby to, ale będzie działać tylko dla jednej listy rozwijanej naraz, jak zakodowano poniżej:
var myDDL = $('myID');
myDDL[0].selectedIndex = 0;
Spójrz na ten post, jak ustawić na podstawie wartości, jest interesujący, ale nie pomoże ci w tym konkretnym problemie:
.prop()
metody. Możesz więc skorzystać $("select").prop("selectedIndex",0);
z szybkiego sposobu, aby wybrać pierwszą opcję ze wszystkich menu rozwijanych.
$('select').trigger('change');
wszelki wypadek. Dzięki!
var myDDL = $('myID')
powinien mieć hash w selektorze, aby stać sięvar myDDL = $('#myID')
$('select option').first().prop('selected',true);
Alternatywne rozwiązanie dla RSolgberg, które uruchamia 'onchange'
zdarzenie, jeśli jest obecne:
$("#target").val($("#target option:first").val());
Prawdopodobnie chcesz:
$("select option:first-child")
Co to za kod
attr("selected", "selected");
polega na ustawianiu atrybutu „selected” na „selected”
Jeśli chcesz wybrać wybrane opcje, niezależnie od tego, czy jest to pierwsze dziecko, selektor jest:
$("select").children("[selected]")
attr
ze prop
jeśli używasz jQuery 1.6 +
Odpowiadam, ponieważ poprzednie odpowiedzi przestały działać w najnowszej wersji jQuery. Nie wiem, kiedy przestało działać, ale dokumentacja mówi, że .prop () była preferowaną metodą pobierania / ustawiania właściwości od jQuery 1.6.
Oto jak to działa (z jQuery 3.2.1):
$('select option:nth-child(1)').prop("selected", true);
Używam knockoutjs i powiązania zmiany nie były uruchamiane z powyższym kodem, więc dodałem .change () na końcu.
Oto, czego potrzebowałem do mojego rozwiązania:
$('select option:nth-child(1)').prop("selected", true).change();
Zobacz uwagi .prop () w dokumentacji tutaj: http://api.jquery.com/prop/
jeśli chcesz sprawdzić tekst wybranej opcji, niezależnie czy jest to pierwsze dziecko.
var a = $("#select_id option:selected").text();
alert(a); //check if the value is correct.
if(a == "value") {-- execute code --}
$('#myID option:selected').text('NEW STRING');
var arr_select_val=[];
$("select").each(function() {
var name=this.name;
arr_select_val[name]=$('select option:first-child').val();
});
// Process the array object
$('.orders_status_summary_div').print(arr_select_val);