我已將一個組合框添加到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