Js操作Select大全(取值、設定選中等等)

weixin_33860553發表於2016-09-01

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;

相關文章