Sebagai pertanyaan yang mengatakan, bagaimana saya mengatur nilai dari DropDownList kontrol menggunakan jQuery?
Jika anda bekerja dengan indeks anda dapat mengatur rentang indeks langsung dengan .attr():
$("#mydropdownlist").attr('selectedIndex', 0);
Ini akan mengatur ini ke nilai pertama di droplist.
Edit: Seperti yang saya lakukan di atas digunakan untuk bekerja. Tapi sepertinya itu doesn't lagi.
Tapi sebagai Han begitu ramah poin di komentar, cara yang benar untuk melakukan hal ini:
$("#mydropdownlist").get(0).selectedIndex = index_here;
Coba ini pendekatan yang sangat sederhana:
/*make sure that value is included in the options value of the dropdownlist
e.g.
(<select><option value='CA'>California</option><option value='AK'>Alaska</option> </select>)
*/
$('#mycontrolId').val(myvalue).attr("selected", "selected");
Jika anda dropdown adalah Asp.Net drop down maka kode di bawah ini akan bekerja dengan baik,
$("#<%=DropDownName.ClientID%>")[0].selectedIndex=0;
Tapi jika anda DropDown HTML drop down maka kode ini akan bekerja.
$("#DropDownName")[0].selectedIndex=0;
Jawaban terbaik untuk pertanyaan:
$("#comboboxid").val(yourvalue).trigger("chosen:updated");
e.g:
$("#CityID").val(20).trigger("chosen:updated");
atau
$("#CityID").val("chicago").trigger("chosen:updated");
Ada banyak cara untuk melakukannya. berikut adalah beberapa dari mereka:
$("._statusDDL").val('2');
ATAU
$('select').prop('selectedIndex', 3);
Cobalah:
jQuery("#availability option:selected").val();
Atau untuk mendapatkan teks dari opsi, gunakan teks():
jQuery("#availability option:selected").text();
Info Lebih Lanjut:
http://api.jquery.com/val/
http://api.jquery.com/text/
$(document).ready(function(){
$('#button1').click(function(){
alert($('#combo :selected').text());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="combo">
<option value="1">Test 1</option>
<option value="2">Test 2</option>
</select>
<input id="button1" type="button" value="Click!" />
Saya pikir ini mungkin dapat membantu:
$.getJSON('<%= Url.Action("GetDepartment") %>',
{ coDepartment: paramDepartment },
function(data) {
$(".autoCompleteDepartment").empty();
$(".autoCompleteDepartment").append($("<option />").val(-1));
$.each(data, function() {
$(".autoCompleteDepartment").append($("<option />").val(this.CodDepartment).text(this.DepartmentName));
});
$(".autoCompleteDepartment").val(-1);
}
);
Jika anda melakukan cara ini, anda menambahkan elemen tanpa teks. Jadi, ketika anda klik combo de, itu doesn't apear, tetapi nilai -1 anda menambahkan kemudian pilih dengan $(".autoCompleteDepartment").val(-1); membiarkan anda mengontrol jika combo memiliki nilai yang berlaku.
Berharap itu membantu siapa pun.
Maaf untuk bahasa inggris saya.
Berikut adalah fungsi yang dibuat untuk dengan cepat mengatur opsi yang dipilih:
function SetSelected(elem, val){
$('#'+elem+' option').each(function(i,d){
// console.log('searching match for '+ elem + ' ' + d.value + ' equal to '+ val);
if($.trim(d.value).toLowerCase() == $.trim(val).toLowerCase()){
// console.log('found match for '+ elem + ' ' + d.value);
$('#'+elem).prop('selectedIndex', i);
}
});
}
Memanggil fungsi ini dengan argumen id elemen dan dipilih nilai; seperti ini:
SetSelected('selectID','some option');
Hal ini berguna ketika ada banyak pilih pilihan harus ditetapkan.
Set drop-down
dipilih
nilai dan perubahan pembaruan
$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")
Di sini pertama-tama kita set nilai dari Model
dan diperbarui pada tanggal
//Format Html dari daftar dropdown.
<select id="MyDropDownList">
<option value=test1 selected>test1</option>
<option value=test2>test2</option>
<option value=test3>test3</option>
<option value=test4>test4</option>
// Jika anda ingin mengubah Item yang dipilih untuk test2 menggunakan javascript. Mencoba yang satu ini. // mengatur pilihan berikutnya u mau pilih
var NewOprionValue = "Test2"
var RemoveSelected = $("#MyDropDownList")[0].innerHTML.replace('selected', '');
var ChangeSelected = RemoveSelected.replace(NewOption, NewOption + 'selected>');
$('#MyDropDownList').html(ChangeSelected);
Dalam kasus ketika anda memuat semua <pilihan ....></options>
oleh Ajax call
Ikuti langkah-langkah untuk melakukan hal ini.
1). Membuat metode terpisah untuk mengatur nilai dari drop-down
Untuk Ex:
function set_ip_base_country(countryCode)
$('#country').val(countryCode)
}
2). Memanggil metode ini ketika ajax call sukses semua html menambahkan tugas lengkap
Untuk Ex:
success: function (doc) {
.....
.....
$("#country").append('<option style="color:black;" value="' + key + '">' + value + '</option>')
set_ip_base_country(ip_base_country)
}
Menggunakan disorot/memeriksa jawaban di atas bekerja untuk saya... di sini's sedikit wawasan. Saya ditipu sedikit untuk mendapatkan URL, tapi pada dasarnya saya'm mendefinisikan URL di Javascript, dan kemudian pengaturan melalui jquery jawaban dari atas:
<select id="select" onChange="window.location.href=this.value">
<option value="">Select a task </option>
<option value="http://127.0.0.1:5000/choose_form/1">Task 1</option>
<option value="http://127.0.0.1:5000/choose_form/2">Task 2</option>
<option value="http://127.0.0.1:5000/choose_form/3">Task 3</option>
<option value="http://127.0.0.1:5000/choose_form/4">Task 4</option>
<option value="http://127.0.0.1:5000/choose_form/5">Task 5</option>
<option value="http://127.0.0.1:5000/choose_form/6">Task 6</option>
<option value="http://127.0.0.1:5000/choose_form/7">Task 7</option>
<option value="http://127.0.0.1:5000/choose_form/8">Task 8</option>
</select>
<script>
var pathArray = window.location.pathname.split( '/' );
var selectedItem = "http://127.0.0.1:5000/" + pathArray[1] + "/" + pathArray[2];
var trimmedItem = selectedItem.trim();
$("#select").val(trimmedItem);
</script>
Jika anda hanya perlu untuk menetapkan nilai dropdown maka cara terbaik adalah
$("#ID").val("2");
Jika Anda memiliki untuk memicu script setelah memperbarui nilai dropdown seperti Jika anda mengatur setiap onChange pada dropdown dan anda ingin menjalankan ini setelah memperbarui dropdown dari yang Anda butuhkan untuk menggunakan seperti ini
$("#ID").val("2").change();