[英]Javascript and PHP radio buttons to change visibility
我正在努力解決問題。 它分為兩部分:
我想創建一個循環,從數據庫中讀出我的每個頁面的 menu_name 並在讀出它的同一行上,放置一個單選按鈕來更改可見性。 到目前為止,看起來我的單選按鈕都已連接,因為(不是為每個按鈕都選中“否”,而是僅在最后一個<li>
項目上選中“否”:
//K's function: function get_all_pages() { global $connection; $query = "SELECT * FROM pages "; $query .= "WHERE visible = 1 "; $query .= "ORDER BY position ASC"; $page_set = mysql_query($query, $connection); confirm_query($page_set); return $page_set; } //K's function: function list_all_pages(){ $output = "<ul>"; $page_set = get_all_pages(); while ($page = mysql_fetch_array($page_set)) { $output .= "<li><a href=\\"add_feature.php?page=" . urlencode($page["id"]) . "\\">{$page["menu_name"]}</a></li>"; $output .= " <input type=\\"radio\\" name=\\"visible\\" value=\\"0\\" checked=\\"checked\\" /> No <input type=\\"radio\\" name=\\"visible\\" value=\\"1\\" /> Yes"; } $output .= "</ul>"; return $output; }
我是新手,如果沒有 Javascript 和 php/mysql 專家的幫助,我試圖弄清楚這一點有點遙不可及。
您的單選按鈕都具有相同的“名稱”屬性,因此您一次只能選擇一個。 您可以將一些唯一標識符附加到屬性值。 例如, visible_{$page_id}
:
function list_all_pages(){
$output = "<ul>";
$page_set = get_all_pages();
while ($page = mysql_fetch_array($page_set)) {
$page_id = urlencode($page["id"]);
$output .= "<li><a href=\"add_feature.php?page={$page_id}\">{$page["menu_name"]}</a></li>";
$output .= " <input type=\"radio\" name=\"visible_{$page_id}\" value=\"0\" checked=\"checked\" /> ";
$output .= "No <input type=\"radio\" name=\"visible_{$page_id}\" value=\"1\" /> Yes";
}
$output .= "</ul>";
return $output;
}
高級提示:使用 PHP,您可以通過使用特殊格式的輸入名稱來簡化“頁面”數據的處理——如下所示:
pages[$page_id][visible]
。pages[$page_id][order]
。一旦用戶提交此數據,PHP 會將其轉換為“pages”數組(索引為 page_id 的)。 然后,您可以執行以下操作:
function process_pages($pages) {
foreach ($pages as $page_id => $data) {
$is_visible = $data['visible'] === '1';
$page_order = (int) $data['order'];
//... update page's visibility/page order
}
}
$pages = $_REQUEST['pages'];
process_pages($pages);
1. 更改每個單選按鈕的名稱屬性以斷開它們的連接,例如使用visible1、visible2、...
2. 將 <input> 標簽放在 <li> 內的 <a> 標簽之后。 這將在動態生成的菜單旁邊顯示您的單選按鈕。
3. 您可以通過創建和調用一個 javascript 函數來創建數字選擇列表,該函數將通過單擊 Yes 選項執行,該函數將創建並顯示選擇字段。
如果您需要更多說明,請對答案發表評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.