我正在尝试在本地存储的选择菜单中设置默认选项,我使用GUID作为值。
<script type="text/javascript">
$(document).ready(function () {
var guid = getParameterByName("dashId");
//$("#cboDashboards").val(guid); - Attempt #1
//$("#cboDashboards > option[value=" + guid + "]").prop("selected", true); - Attempt #2
//jQuery('#cboDashboards > option[value="' + guid + '"]').prop('selected', true) - Attempt #3
});
document.getElementById("cboDashboards").onchange = function () {
localStorage.dashboardGuid = this.value;
window.location.href = "/Home/Index?dashId=" + this.value;
};
</script>
存储的GUID与我尝试填充组合框的GUID相同,但是,我尝试了三种不同的方法来尝试填充组合框,但没有一种方法有效。对于为什么这个没有按预期工作的任何建议?
编辑 - 这种方法会对它产生什么影响吗?它被调用以使用值填充组合框:
function populateDashboard(data) {
var options = $("#cboDashboards");
$.each(data, function () {
options.append($("<option />").val(this.DashboardGuid).text(this.Name));
});
}
我填写了一些测试数据 -
<select id="cboDashboards">
<option value="0">Select dashboard</option>
<option value="1">Select dashboard 1</option>
<option value="2">Select dashboard 2</option>
<option value="3">Select dashboard 3</option>
@* <option value="0">Select dashboard</option>*@
</select>
我做了:
$(&#34;#cboDashboards&#34)。VAL(&#39; 1&#39); // - 尝试#1
这很有效,所以我似乎遇到了GUID值的问题?
答案 0 :(得分:1)
使用此代码尝试使用jQuery:
function populateDashboard(data) {
var options = $("#cboDashboards");
$.each(data, function () {
options.append($("<option />").val(this.DashboardGuid).text(this.Name));
});
var guid = getParameterByName("dashId");
//select element
$('#cboDashboards option[value='+ guid +']').attr('selected', 'selected');
}
我希望这有帮助。