2013-10-21 55 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/