我有一個MVC 2/jQuery移動應用程序。MVC PartialView中的下拉列表(選擇)不更新jQuery更改值後的文本
在我的主視圖中,我有一個可排序的列表。排序工作通過url參數sortorder
。使用它可以更改排序的下拉列表中,看起來像這樣的局部視圖:
<div class="ui-select">
<select name="sortSelect" id="sortSelect" data-mini="true">
<option value="opt1">Option 1</option>
<option value="opt2">Option 2</option>
<option value="opt3">Option 3</option>
</select>
</div>
然後,我有一個jQuery,檢查下拉列表是否被改變。在改變它添加或更改URL sort
參數與新的下拉值,並重定向到新的URL:
$(document).ready(function() {
$('#sortSelect').change(function() {
var sortOrder = $('#sortSelect').val();
var url = document.URL;
if (url.indexOf("sortorder=") > -1)
url = url.replace(/sortorder=[^&]+/, "sortorder=" + sortOrder);
else
url = url + "&sortorder=" + sortOrder;
window.location.replace(url);
});
});
由於有被添加了&其他一些參數的排序順序之前,它是確定。
要當頁面重新加載我有以下的jQuery的URL設置正確的值(功能GUP從網址讀取值):
$('#sortSelect').ready(function() {
var sortorder = gup('sortorder');
if (sortorder != '')
$('#sortSelect').val(sortorder);
}
有問題:如果我加載網站和變化sortorder
通過下拉菜單,一切工作到目前爲止。該頁面新加載新的url參數和新排序的列表。即使下拉值設置正確(我檢查了這alert($('#sortSelect').val()
,但下拉文本是舊的。如果我按F5的網站刷新,並下拉有其正確的文字...
任何想法我可以解決這個問題,或者什麼是所有的問題
i fo並自行解答。如預期的那樣,我必須用*** $(「#sortSelect」)來刷新select(dropdown)。selectmenu(「refresh」); ***像這樣: $('#sortSelect')。ready(function ){ varorderorder = gup('sortorder'); if(sortorder!='') $('#sortSelect').val(unescape(sortorder)); $(「#sortSelect」)。selectmenu 「refresh」); });有時,簡單的問題需要一些時間;) – dotnetsharp