jquery操作select(取值,設置選中)
每一次操作select的時候,總是要出來翻一下資料,不如自己總結一下,以后就翻這里了。
比如<select class="selector"></select>
1、設置value為pxx的項選中
$(".selector").val("pxx");
2、設置text為pxx的項選中
$(".selector").find("option[text='pxx']").attr("selected",true);
這里有一個中括號的用法,中括號里的等號的前面是屬性名稱,不用加引號。很多時候,中括號的運用可以使得邏輯變得很簡單。
3、獲取當前選中項的value
$(".selector").val();
4、獲取當前選中項的text
$(".selector").find("option:selected").text();
這里用到了冒號,掌握它的用法並舉一反三也會讓代碼變得簡潔。
很多時候用到select的級聯,即第二個select的值隨着第一個select選中的值變化。這在jquery中是非常簡單的。
如:
$(".selector1").change(function(){ // 先清空第二個 $(".selector2").empty(); // 實際的應用中,這里的option一般都是用循環生成多個了 var option = $("<option>").val(1).text("pxx"); $(".selector2").append(option); });
Js操作Select大全
判斷select選項中 是否存在Value="paraValue"的Item
向select選項中 加入一個Item
從select選項中 刪除一個Item
刪除select中選中的項
修改select選項中 value="paraValue"的text為"paraText"
設置select中text="paraText"的第一個Item為選中
設置select中value="paraValue"的Item為選中
得到select的當前選中項的value
得到select的當前選中項的text
得到select的當前選中項的Index
清空select的項
js 代碼
// 1.判斷select選項中 是否存在Value="paraValue"的Item function jsSelectIsExitItem(objSelect, objItemValue) { var isExit = false; for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { isExit = true; break; } } return isExit; } // 2.向select選項中 加入一個Item function jsAddItemToSelect(objSelect, objItemText, objItemValue) { //判斷是否存在 if (jsSelectIsExitItem(objSelect, objItemValue)) { alert("該Item的Value值已經存在"); } else { var varItem = new Option(objItemText, objItemValue); objSelect.options.add(varItem); alert("成功加入"); } } // 3.從select選項中 刪除一個Item function jsRemoveItemFromSelect(objSelect, objItemValue) { //判斷是否存在 if (jsSelectIsExitItem(objSelect, objItemValue)) { for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { objSelect.options.remove(i); break; } } alert("成功刪除"); } else { alert("該select中 不存在該項"); } } // 4.刪除select中選中的項 function jsRemoveSelectedItemFromSelect(objSelect) { var length = objSelect.options.length - 1; for(var i = length; i >= 0; i--){ if(objSelect[i].selected == true){ objSelect.options[i] = null; } } } // 5.修改select選項中 value="paraValue"的text為"paraText" function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) { //判斷是否存在 if (jsSelectIsExitItem(objSelect, objItemValue)) { for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { objSelect.options[i].text = objItemText; break; } } alert("成功修改"); } else { alert("該select中 不存在該項"); } } // 6.設置select中text="paraText"的第一個Item為選中 function jsSelectItemByValue(objSelect, objItemText) { //判斷是否存在 var isExit = false; for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].text == objItemText) { objSelect.options[i].selected = true; isExit = true; break; } } //Show出結果 if (isExit) { alert("成功選中"); } else { alert("該select中 不存在該項"); } } // 7.設置select中value="paraValue"的Item為選中 document.all.objSelect.value = objItemValue; // 8.得到select的當前選中項的value var currSelectValue = document.all.objSelect.value; // 9.得到select的當前選中項的text var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text; // 10.得到select的當前選中項的Index var currSelectIndex = document.all.objSelect.selectedIndex; // 11.清空select的項 document.all.objSelect.options.length = 0;