我已将一个组合框添加到wordpress自定义文章中。当用户保存页面时,组合框的值将被保存,并且在页面加载时,该值将被读取并显示在页面上。选项中的组合框默认值
但是,我希望组合框在页面加载时将该值显示为其“默认值”。目前,组合框只是在页面加载时显示第一个选项。我认为这样做的唯一方法是将保存的值“移动”到组合框选项的“顶部”。
是否有任何其他方法可以让组合框“选择”默认值而不重新排列选项?
我已将一个组合框添加到wordpress自定义文章中。当用户保存页面时,组合框的值将被保存,并且在页面加载时,该值将被读取并显示在页面上。选项中的组合框默认值
但是,我希望组合框在页面加载时将该值显示为其“默认值”。目前,组合框只是在页面加载时显示第一个选项。我认为这样做的唯一方法是将保存的值“移动”到组合框选项的“顶部”。
是否有任何其他方法可以让组合框“选择”默认值而不重新排列选项?
检查你需要与PHP
<select name="mybox">
<option value="val1" <?php if("val1" == $_POST['mybox']){ echo "selected"; } ?>>val1</option>
<option value="val2" <?php if("val2" == $_POST['mybox']){ echo "selected"; } ?>>val1</option>
<option value="val3" <?php if("val3" == $_POST['mybox']){ echo "selected"; } ?>>val1</option>
</select>
或者,如果你不喜欢打字了这一切,用js选择它的价值:
function setSelectedValue(selectObj, valueToSet) {
//window.alert('function called');
for (var i = 0; i < selectObj.options.length; i++) {
if (selectObj.options[i].value == valueToSet) {
selectObj.options[i].selected = true;
return;
}
}
}
window.onload = function(){
var em = document.getElementsByName("mybox")[0];
setSelectedValue(em, "<?php echo $_POST['mybox']; ?>");
}
请编辑您的代码,因为现在所有将获得选中,因为所有的值都是val1,并且所有条件都是相同的。 – vaso123 2014-10-20 15:30:22
谢谢@lolka_bolka ..修复 – 2014-10-20 15:31:56
加上'selected'选项? – 2014-10-20 15:27:12
甚至没有知道这存在.. – myol 2014-10-20 15:39:33