javascript - 加载页面后设置下拉值
问题描述
<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);
任何帮助将不胜感激。
解决方案
刚刚测试了您的代码及其与 jquery 1.11.3 的正常工作,我怀疑问题可能与 jquery 版本有关......让我们更改代码以为下拉列表分配值并再试一次:
$("#networkCapacityList").find("[value="+getbusinessID+"]").prop("selected", true);
至
$("#networkCapacityList").val(getbusinessID);
推荐阅读
- javascript - React - 事件发生时如何更改子组件的道具?
- android - FlatMapCompletable 不会继续 Rx 链,但是带有“andThen(Observable.just(true)”的可完成的平面图可以工作吗?
- java - Tomcat Maven - 无法启动组件问题
- c# - 如何检查 Parse(args) 是真还是假
- php - 使用 csfixer 重新排序 PHPDoc / Symfony 注释
- android - Android Room 持久性库。丢弃表
- vue.js - 如何使用 vue/chart.js 为线图构建数据
- xaml - 如何将这些框架垂直并排放置?
- vbscript - 如何在此现有代码中每次使用 vbs 按下随机字符串
- python - 在 Python 中将集合转换为列表