使用哈希标记从下拉列表中预先选择项目

Pre selecting an item from drop down using a hash tag

本文关键字:选择 项目 下拉列表 哈希标      更新时间:2023-09-26

我有一个注册页面,用户输入该页面时会像一样在url后面附加一个#标签

mysite.com/registration#johnjackson

根据点击哪个链接进入注册页面,会附加标签。字符串总是小写并经过修剪。

在注册页面上有一个下拉列表,我想使用js进行预选。它看起来像:

<select>
<option value="Sara Rush, Singer">Sara Rush, Singer</option>
<option value="John Jackson, painter">John Jackson, painter</option>
<option value="Albert Einstein, Pilot">Albert Einstein, Pilot</option>
</select>

我正在寻找一个好的解决方案。也许只是浏览选项值列表,检查前5-7个字符是否与标签字符串匹配?

这样的东西怎么样。

var hash = window.location.hash;
var regex = new RegExp( hash, 'g' );
$('option').each(function() {
  var val = $(this).attr('value').toLowerCase();
  var matches = val.match(regex);
  if (matches) {
    $(this).attr('selected', 'selected');
  }
});