|
|
|
ทำยังไงที่จะไม่ให้ ListMenu Refresh ครับ ผมมีลิสต์ 2 ตัว ตัวแรกไว้แสดง category - ตัวที่ 2 แสดง subcategory |
|
|
|
|
|
|
|
วิธีนี้หากไม่ต้องการ refresh หน้าเท่าที่ผมรู้มีอยู่ 3 วิธี คือ
1.ให้ทำการ load ข้อมูลทั้งหมดมาไว้เลย แล้วเมื่อเลือก menu ตัวใด ก็ให้ submenu เปลี่ยนไปตามนั้น
2.ทำการเปิด window ใหม่เพื่อทำการ load แล้วก็ปิดมันซะ
3.ยังไม่รู้ว่าใช้วิธีอะไรครับ เคยเห็นที่เว็บไหนไม่รู้ แต่ไม่ได้ใช้วิธีที่ 1 และ 2 แน่นอน
ในวิธีที่ 1 ในส่วนของ menu ให้ใส่ onclick='check_submenu()' ไปด้วย เพื่อให้ทำการเปลี่ยนแปลงข้อมูลใน submenu โดยใน function ลองดูคำสั่ง document.all.show_submenu.innerHTML = "..." ครับ
ในวิธีที่ 2 ในส่วนของ menu ให้ใส่ onclick='check_submenu()' โดยใน function ดูคำสั่ง เปิด window ใหม่ และการส่งค่ามายัง window ที่เปิด (opener.document.....)
|
|
|
|
|
Date :
11 ส.ค. 2550 14:22:09 |
By :
ลิ้ม |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
THANKS จะลองดู(สักตั้ง)
|
|
|
|
|
Date :
11 ส.ค. 2550 14:35:23 |
By :
W |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
/*** By Weerachai Nukitram ***/
/*** http://www.ThaiCreate.Com ***/
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("thailand");
@mysql_query("SET NAMES UTF8");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ThaiCreate.Com ListMenu</title>
<script language = "JavaScript">
//**** List Province (Start) ***//
function ListProvince(SelectValue)
{
frmMain.ddlProvince.length = 0
frmMain.ddlAmphur.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
frmMain.ddlProvince.options[frmMain.ddlProvince.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT * FROM province ORDER BY PROVINCE_ID ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup = <?=$objResult["GEO_ID"];?>;
strValue = "<?=$objResult["PROVINCE_ID"];?>";
strItem = "<?=$objResult["PROVINCE_NAME"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
if (mySubList[x,1] == SelectValue){
var myOption = new Option(mySubList[x,0], mySubList[x,2])
frmMain.ddlProvince.options[frmMain.ddlProvince.length]= myOption
}
<?
}
?>
}
//**** List Province (End) ***//
//**** List Amphur (Start) ***//
function ListAmphur(SelectValue)
{
frmMain.ddlAmphur.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
frmMain.ddlAmphur.options[frmMain.ddlAmphur.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT * FROM amphur ORDER BY AMPHUR_ID ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup = <?=$objResult["PROVINCE_ID"];?>;
strValue = "<?=$objResult["AMPHUR_ID"];?>";
strItem = "<?=$objResult["AMPHUR_NAME"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
if (mySubList[x,1] == SelectValue){
var myOption = new Option(mySubList[x,0], mySubList[x,2])
frmMain.ddlAmphur.options[frmMain.ddlAmphur.length]= myOption
}
<?
}
?>
}
//**** List Amphur (End) ***//
</script>
</head>
<form name="frmMain" action="" method="post">
Geography
<select id="ddlGeo" name="ddlGeo" onChange = "ListProvince(this.value)">
<option selected value=""></option>
<?
$strSQL = "SELECT * FROM geography ORDER BY GEO_ID ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResult["GEO_ID"];?>"><?=$objResult["GEO_NAME"];?></option>
<?
}
?>
</select>
Province
<select id="ddlProvince" name="ddlProvince" style="width:120px" onChange = "ListAmphur(this.value)"></select>
Amphur
<select id="ddlAmphur" name="ddlAmphur" style="width:200px"></select>
</form>
</body>
</html>
<?
mysql_close($objConnect);
?>
Ref : สร้าง Dependent ListMenu เลือกข้อมูลหลักและข้อมูลย่อยเปลี่ยนตามหัวข้อหลัก
|
|
|
|
|
Date :
2009-07-05 07:25:53 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|