我有得到裝載在第一頁加載4名下拉列表中,他們都看起來有點像這樣:jQuery的選擇多選的麻煩
@Html.LabelFor(m => m.SelectedAgencies, "Agencies") <br />
@Html.DropDownListFor(m => m.SelectedAgencies, Model.AllAgencies, new { @class = "chosen-select", multiple = "multiple", style = "width: 350px;" })
<button type="submit" id="btnShow" name="show">Show</button>
點擊按鈕會產生在同一視圖的結果,在下拉列表是一個過濾器。
總新手在JavaScript中,幾乎使這個至今:
<script type="text/javascript">
$(function() {
$('.chosen-select').chosen();
});
$(document).ready(function() {
if ($('#AllAgenciesSelected').is(':checked')) {
$("#SelectedAgencies_chosen").hide();
}
$("#AllAgenciesSelected").click(function() {
$("#SelectedAgencies_chosen").toggle(!this.checked);
});
});
</script>
一切似乎都做工精細,除部分當用戶返回到該頁面。如果在下拉列表中選擇了多個參數,則只有最後一個選擇的頁面在重新加載時保持爲選定狀態。我試圖讓所選擇的值保存的地方和頁面被再次加載後,在人口與保存的結果的下拉列表中選擇:
var agenciesVal;
$("#btnShow").click(function() {
agenciesVal = $("#SelectedAgencies").value();
});
$(document).ready(function() {
//code from before
if (agenciesVal!=null) {
$('#SelectedAgencies').val = agenciesVal;
}
});
我真的很新的jQuery的,並試圖像這甚至有意義?有沒有更容易,更優雅的方式來實現這一點?
如果你正在做一個實際的*頁面刷新*然後jQuery開發/ JavaScript緩存也正在被清除。你可以嘗試將數據存儲在數據庫或本地存儲中?不過,您的jQuery確實存在一些問題。 – DevlshOne