首先,我是Javascript的新手。
我的表单中包含带有各种选项的select元素,而我无权更改表单。选项没有id,只有下面代码中显示的值。
<form>
<select class="country" name="country" id="countryid">
<option value="usa" selected="selected">USA</option>
<option value="canada">Canada</option>
<option value="japan">Japan</option>
<option value="china">China</option>
</select>
</form>
我的目标是根据url参数自动填充上面表单中的字段。 例如,www.example.com?country = china应该在表单领域填充中国。以下是javascript代码:
<script>
var param1var = getQueryVariable("country");
function displayresult(){
//document.getElementById(param1var).selected=true; //if there was id given in the form field
//cannot use document.getElementByValue(param1var).selected=true;
//document.querySelectorAll('input[value=' + param1var + ']').selected=true; does not work
}
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
}
</script>
有没有办法可以使用选项值引用元素?
谢谢!
答案 0 :(得分:1)
您可以通过设置select元素的值来这样做。另请注意,值区分大小写,另外请确保函数displayresult
在onload
上运行,或者在元素出现在html之后。
document.getElementById("countryid").value=param1var;
<强> Demo 强>