1. 程式人生 > >通過ajax動態載入select控制元件【下拉框】的option

通過ajax動態載入select控制元件【下拉框】的option

一、JS方式 關鍵程式碼:

<select id="ddlResourceType" onchange="getvalue(this)"></select>


var objSelect = document.getElementById("ddlResourceType");

1、動態刪除select中的所有option:
objSelect.options.length=0;

2、動態刪除select中的某一項option:
objSelect.options.remove(index); 

3、刪除被選中的項:
方法一、objSelect.options[objSelect.selectedIndex] = null;
方法二、objSelect.options.remove(objSelect.selectedIndex); 

4、動態新增select中的項option:
方法一、objSelect.options.add(new Option(text,value));
方法二、objSelect.options[objSelect.length] = new Option(text,value);

5、修改所選中的項:
objSelect.options[objSelect.selectedIndex] = new Option(text,value);

6、獲取選中項option的值和文字:
objSelect.options[objSelect.selectedIndex].value;
objSelect.options[objSelect.selectedIndex].text;

7、檢測select是否有選中項:
if (objSelect.selectedIndex > - 1 ) {
   // 說明選中
}

示例:

後臺方法呼叫


前臺進行解析


二、jQuery方式  關鍵程式碼:

<select id="mySelect" onchange="getvalue(this)"></select>

1、動態新增option項:
在後面追加:$("#mySelect").append("<option value='"+value+"'>"+text+"</option>");
在前面追加:$("#mySelect").prepend("<option value='"+value+"'>"+text+"</option>");


2、刪除選中的option項:
$("#mySelect option:selected").remove();


3、清空select下拉框:
方式一:$("#mySelect option").remove();
方式二:$("#mySelect").empty();


4、獲取Select選中項的text:
$("#mySelect").find("option:selected").text(); 


5、獲取Select選中項的value:
方式一:$("#mySelect option:selected").attr("value");   
方式二:$("#mySelect").val();     


6、獲取Select選中項的索引值,從0開始:
方式一:$("#mySelect option:selected").index(); 
方式二:$("#mySelect").get(0).selectedIndex;   


7、獲取Select最大索引值,從0開始:
$("#mySelect option:last").index();


8、設定選中項:
根據索引設定選中項:$("#mySelect").get(0).selectedIndex=index;//index為索引值 
根據value設定選中項:
方式一:$("#mySelect").attr("value","newValue"); 
方式二:$("#mySelect").val("newValue"); 
方式三:$("#mySelect").get(0).value = value; 
根據text設定對應的項為選中項:
var count=$("#mySelect option").length; 
for(var i=0;i<count;i++) 

    if($("#mySelect").get(0).options[i].text == text) 
    { 
        $("#mySelect").get(0).options[i].selected = true; 
        break; 
    } 

示例:

後臺方法呼叫,同js方式。

前臺進行解析