可以't将选择选项设置为默认选项

Can't set select option as default

本文关键字:选项 设置 默认 选择 可以      更新时间:2023-09-26

我试图在本地存储的选择菜单中设置一个默认选项,我使用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>

我做到了:

$("#cboDashboards").val('1');//-尝试#1

这起作用了,所以我似乎对GUID值有问题?

使用以下代码尝试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');
}

我希望这能有所帮助。