我正在使用多选组合框,我从组合框中选择几个值并将所选值保存到db。当我重新打开页面时,我需要将焦点放在已选择和保存的值上。
function getSelectedValues() {
var from = document.getElementById("309127");
var to;
var v = from.options.length;
var selectedValues = "";
for (var i = 0; i < v; i++) {
if (from.options[i] && from.options[i].selected) {
var CVal = from.options[i].value;
var CText = from.options[i].text;
if (selectedValues == "") {
selectedValues = CVal;
}
else {
selectedValues = selectedValues + "~" + CVal;
}
}
}
return selectedValues;
}
这是我用来保存db中所选值的javascript函数。 任何人都可以帮我解决如何将重点放在选定的项目上? 谢谢
答案 0 :(得分:1)
要使用javascript设置焦点,您可以使用
document.getElementById("309127").focus();
对于您的问题,我假设您将值发送到PHP页面或类似的东西以更新数据库。如果是这样,当您返回页面时,您的问题将获得所选的值。两个建议:
编辑:-------------
例如,如果您通过GET传递值(www.example.com?param1=three)
您可以使用javascript在加载时选择该值:
<html>
<body onload="load()">
<select id="example">
<option value="one"> one </option>
<option value="two"> two </option>
<option value="three"> three </option>
</select>
</body>
<script>
function load(){
var param1 = getParameterByName("param1");
var selected = document.getElementById('example');
var opts = selected.options.length;
for (var i=0; i<opts; i++){
if (selected.options[i].value == param1){
selected.options[i].selected = true;
break;
}
}
}
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.search);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
</script>
</html>
答案 1 :(得分:0)
尝试var from = document.getElementById("309127");from.focus();