首页 > 解决方案 > 加载页面后设置下拉值

问题描述

<select id="networkCapacityList" name="networkCapacityList" class="long select2-hidden-accessible" tabindex="-1" aria-hidden="true">
<option value="">Please Select</option>
<option value="221">Business 1</option>
<option value="456">Business 2</option>
<option value="843">Business 3</option>

 $('#networkCapacityList').on('change', function () {
 var businessID = $(this).val();
 var holdBusinessID = localStorage.setItem("businessID", businessID);
 location.reload(); 
});

 getbusinessID = localStorage.getItem("businessID");


 $("#networkCapacityList").find("[value="+getbusinessID+"]").prop("selected", true);
//$("#networkCapacityList option[value="+getbusinessID+"]").prop('selected', true);
//$('#networkCapacityList option').filter('[value="' + getbusinessID + '"]').prop('selected', 'selected');

我从用户操作中获取业务 ID。我将这些数据保存在 localStorage 对象中。对于某些功能问题,我必须重新加载页面。然后我可以得到企业ID。

重新加载位置后,浏览器会丢失所有用户操作。因此,下拉列表显示“请选择”作为默认值。我想预先设置选择的值。我已经尝试了所有可用的选项,但没有成功。我从本地存储中正确获取了企业 ID。

例如:

$("#networkCapacityList").find("[value="+getbusinessID+"]").prop("selected", true);
$("#networkCapacityList").find("[value="+221+"]").prop("selected", true);

任何帮助将不胜感激。

标签: javascriptjqueryselectjquery-select2

解决方案


刚刚测试了您的代码及其与 jquery 1.11.3 的正常工作,我怀疑问题可能与 jquery 版本有关......让我们更改代码以为下拉列表分配值并再试一次:

$("#networkCapacityList").find("[value="+getbusinessID+"]").prop("selected", true);

$("#networkCapacityList").val(getbusinessID);

推荐阅读