我有得到装载在第一页加载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