无法在jquery mobile中设置select标记的值

时间:2011-07-08 18:04:09

标签: jquery jquery-mobile

我在html(SelectTest.html)中创建了一个带有一些值的select标签。我要做的是从select标签中选择任何值后,我需要刷新页面并将所选选项作为参数传递到网址。

然后我需要在刷新页面后将其设置为选定值。我不确定这个问题是否与jQuery mobile有关。

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" /> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script> 
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script> 
<script type="text/javascript">
$(document).ready(function(){

    var param = window.location.search;

    if(param)
    {


      var indx = param.indexOf("=");

        //now get the value of selected type

        aval =param.substring(indx+1);

        $("#lang").val(aval);
    }   

    $("#lang").change(function(){

        var sel = $(this).val();


         window.location.href="SelectTest.html?type="+sel;

        });

});



</script>
<title>Insert title here</title>
</head>
<body>
<div data-role="page" id="home" data-theme="e"> 
<div data-role="header"> 
<h1>Test</h1> 
</div>
<div data-role="content" id="toi">

<div>
<label for="lang">Select Language</label>
<select name="language" id="lang">
<option value="en">English</option>
<option value="hi">Hindi</option>
<option value="sp">Spanish</option>
<option value="fr">French</option>
</select>
</div>



<div id="main">

</div>
</div>
</div> 
<div data-role="footer"> 
<h4>Test</h4> 
</div> 
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:4)

来自jquery移动文档:

  

如果您操纵选择通道   JavaScript,你必须调用刷新   方法就可以更新视觉效果   造型。这是一个例子:

var myselect = $("select#foo");
myselect[0].selectedIndex = 3;
myselect.selectmenu("refresh");

所以基本上你只需要调用刷新就可以了。这有帮助吗?

对于您的代码,您可以像这样链接

$('#lang').val(aval).selectmenu("refresh");