比较选择选项值和URL中的值
compare a select option value and a value from URL
我有一个选择标签来选择类别,每个选项都包含类别编号作为值。类别号在URL字符串中。我正试图写一个JS来检查选项值是否与URL中的类别号相同,如果是,则选择该选项。到目前为止,这个脚本不起作用。我做错了什么?
这是代码:
function GetUrlValue(VarSearch){
var SearchString = window.location.search.substring(1);
var VariableArray = SearchString.split('&');
for(var i = 0; i < VariableArray.length; i++){
var KeyValuePair = VariableArray[i].split('=');
if(KeyValuePair[0] === VarSearch){
return KeyValuePair[1];
}
}
}
function compareValue(){
var x = document.getElementById("selectcategory").length;
for (var i = 0; i < x; i++){
var categNo = document.getElementById("selectcategory").options[i];
var UrlValue1 = GetUrlValue('icid');
if (categNo === UrlValue) {
document.getElementById("selectcategory").options[i].selected = true;
}
alert(UrlValue1);
}
}
如果需要,我会发送一个工作链接。如果用jquery做这件事更容易,我会很高兴学习的。
thanx。
问题是categNo
应该是相应选项标记的值。此外,最好缓存select元素,而不是在循环中重新查询DOM:
function compareValue() {
var select = document.getElementById("selectcategory");
var x = select.options.length;
for (var i = 0; i < x; i++) {
var categNo = document.getElementById("selectcategory").options[i].value;
var UrlValue = GetUrlValue('icid');
if (categNo === UrlValue) {
select.options[i].selected = true;
}
}
}
演示:http://jsfiddle.net/dj7c6sdL/
相关文章:
- 通过js在新选项卡中有条件地打开url
- 根据select选项元素将表单重定向到不同的URL
- 一次又一次地在新的和相同的选项卡中打开一个url
- 如何在现有的浏览器选项卡中打开url
- Google Script HtmlService,通过多个选项卡复制URL变量
- 使用Javascript根据URL中的关键字隐藏下拉选项
- 如何在新选项卡中而不是在新窗口中打开URL
- 如何重定向当前选项卡'Chrome扩展中的url
- 访问url[材质Ui+选项卡]时,Angular Ui路由器未加载视图
- 在Chrome中的适当选项卡/窗口中打开URL
- 如何使用jQuery更改当前URL并在单击时打开新选项卡
- 当用户在选择框中选择选项时,使用window.location.href重定向用户只会更改导航器中URL的最后一位
- 根据选择选项元素将表单重定向到不同的URL,并在电子邮件中获取表单详细信息
- 获取当前URL,替换部分路径名,然后在空白选项卡中打开
- 从Javascript中的Chrome扩展获取选项卡url
- 在浏览器操作中修改当前选项卡的URL的TLD
- 使用javascript在chrome浏览器的新选项卡中以程序方式打开URL
- 使用 Javascript 根据 URL 哈希设置所选选项
- Facebook选项卡应用程序动态URL
- 主干模型url选项覆盖url参数