【问题标题】:set the dropdown value after loading the page加载页面后设置下拉值
【发布时间】:2019-05-14 20:05:22
【问题描述】:
<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);

任何帮助将不胜感激。

【问题讨论】:

  • 你试过$("#networkCapacityList").val(getbusinessId);吗?
  • @freedomn-m 问题不重复。如果您阅读了我的问题,我已经尝试了所有可能的解决方案,但它没有按预期工作。 $("#networkCapacityList").find("[value="+getbusinessID+"]").prop("selected", true); //$("#networkCapacityList option[value="+getbusinessID+"]").prop('selected', true); //$('#networkCapacityList option').filter('[value="' + getbusinessID + '"]').prop('selected', 'selected');所有这些解决方案都适用于 codepen。但是,在我的项目中,由于一些奇怪的原因它不起作用。
  • 我阅读了您的问题,但您没有提供证据证明您已经尝试过我之前建议的解决方案,因此您“尝试了所有可能的解决方案”的断言是无效的。
  • @freedomn-m "我已经尝试了所有可用的选项,但没有成功"

标签: javascript jquery select jquery-select2


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢。但是,我已经尝试过这两种方法都没有成功。该项目正在使用 select2 插件,我不确定是否与此有关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-19
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 2016-10-13
相关资源
最近更新 更多