如何使用jquery在dropdownlist中获取json变量中的值?

时间:2013-10-21 21:25:58

标签: jquery asp.net json

<option value="PRODUCT_TYPE">1.3</option>

我想使用以下代码获得1.3但我没有得到它....

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;
    }
}

4 个答案:

答案 0 :(得分: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;
 }
}

答案 1 :(得分:0)

您需要查看从html()(或javascript innerHTML属性)离子顺序返回的值,以确定该选项的可见选择内容。 val()会返回标记的value属性,在您的示例中该属性为PRODUCT_TYPE

答案 2 :(得分:0)

正如迈克所说,你可以使用innerHTML或Text。

你可以像这样使用jquery来获取它:

http://jsfiddle.net/YNtxm/

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

答案 3 :(得分:0)

这里有几个问题。我会重构这样的事情:

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

以下是javascript的演示:http://jsfiddle.net/uQfEA/