Piszę aplikację mobilną jQuery. Zmieniam listę rozwijaną wybranej opcji za pomocą poniższej instrukcji: - $ ("# DataBaseNames"). Val (db);jQuery Mobile Zmień DropDown Wybrano opcję i odśwież ją
Jestem pewien, że przekazano prawidłową wartość db, ponieważ sprawdziłem ją za pomocą alertu. Po przewinięciu listy rozwijanej pokazuje również właściwy tekst, ale samo menu nie pokazuje właściwego tekstu.
Jakieś żądanie odświeżania, które muszę wstawić?
Edit: -Adding kodu poniżej odpowiedź z Phill rozwiązać go
<script type="text/javascript">
$("#@ViewBag.DivTitle").live('pageshow', function() {
var db = getCookie("DataBaseNames");
$("#DataBaseNames").val(db);
$("#DataBaseNames option[value='"+ db + "']").attr("selected", "selected");
// refresh value , Following is what is required
$('select').selectmenu('refresh');
$("#cmdLogOn").live("click", function() {
var dbSelected = $("#DataBaseNames option:selected").text();
setCookie('DataBaseNames', dbSelected);
});
});
function setCookie(name, value) {
var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
</script>
Kod byłby przyjemny do obejrzenia, popraw swoje pytanie i dodaj przykładowy kod. Może http://jsfiddle.net –