2013-10-21 56 views
1
<option value="PRODUCT_TYPE">1.3</option> 

我想用下面的代碼,但我不是得到它得到1.3 ....如何使用jquery在dropdownlist中獲取json變量的值?

var OperatingSystem = document.getElementById("<%=ddlOS.ClientID %>"); 
var size = OperatingSystem.options.length; 

for (var i = 0; i < size; i++) { 
    if (OperatingSystem.options[i].text === obj.OperatingSystem) { 
     $("#ddlos").val(i); 
     $("#ddlOS").multiselect("refresh"); break; 
    } 
} 

回答

2

我解決了這個使用以下:

var OperatingSystem = document.getElementById("<%=ddlOS.ClientID %>"); 
var size = OperatingSystem.options.length; 
for (var i = 0; i < size; i++) 
{ 
    if (OperatingSystem.options[i].text === obj.OperatingSystem) 
{ 
    operatingsystem.selectedindex=i; 
    $("#ddlOS option:selected).text(); 
    $("#ddlOS").multiselect("refresh"); 
    break; 
} 
} 
0

你需要看看離子以確定從html()(或JavaScript innerHTML屬性)返回的值可供選擇的可見選擇內容。 val()返回標籤的value屬性,在您的示例中該屬性爲PRODUCT_TYPE

0

正如邁克所說,您可以使用innerHTML或Text。

您可以用jQuery讓它像這樣:

http://jsfiddle.net/YNtxm/

function DoSomething() 
{ 
var foo = $("select").find(":selected").text(); 
alert(foo); 
} 
+0

它不工作,因爲我dropdownlists被填數據庫和我有超過12下拉列表,當我在文本框中輸入product_no然後所有dropdownlists填充automaticallly,但在我的情況下,它不工作之前,這是工作時,我只是簡單操作system.selectedindex =我但我想這樣做以上代碼 –

0

您在這裏有幾個問題。我想重構爲這樣的事情:

var $ddl = $('<%=ddlOS.ClientID %>'); 
$ddl.val($ddl.find('option').filter(function() { 
    return $(this).text() == obj.OperatingSystem; 
}).val()); 

這裏是JavaScript的一個演示:http://jsfiddle.net/uQfEA/