|
有用過SELECTBOXES都會覺得很方便
但是本人想撈出值直接秀在TEXT欄位裡
因為很多大網站都有此功能
但是就是找不到相關資料
於是本人花了不少時間測試
INDEX.PHP
- <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
- <script type="text/javascript" src="selectcostomer.js"></script>
- <?php
- include "global.php";
- $sql1 = "SELECT * FROM net_costomer WHERE fristsellid=".$row[uid];
- $query1 = $db->query($sql1);
- while($row_costomerselect=$db->fetch_array($query1)) {
- $sm_costomerselect[]=array("cmid"=>$row_costomerselect[cmid],"name"=>$row_costomerselect[name]);
- }
- $smarty->assign("sm_costomerselect",$sm_costomerselect);
- $smarty->display('index.htm');
複製代碼 先引入JQUERY jquery-1.3.2.min.js及selectcostomer.js
如果沒有jquery-1.3.2.min.js請到關網下載
global.php只是DB的基本設定- <?php
- $mydbhost = "localhost";
- $mydbuser = "";
- $mydbpw = "";
- $mydbname = "";
- $mydbcharset = "UTF8";
- $db = @mysql_connect($mydbhost,$mydbuser,$mydbpw);
- if (!$db) {
- exit('Unable connect MYSQL at this time');
- }
- if (!@mysql_select_db($mydbname)) {
- exit ('Unable connect DB at this time');
- }
- //宣告資料庫要寫入的格式
- mysql_query("SET NAMES $mydbcharset", $db);
- ?>
複製代碼- $smarty->assign("sm_costomerselect",$sm_costomerselect);
- $smarty->display('index.htm');
複製代碼 這兩行是SMARTY傳值到INDEX.HTM的基本方法
selectcostomer.js- $(document).ready(function(){
- $("#select1").change(function(){
- $.get(
- 'selectcostomer.php', //拋值給selectcostomer.php接收
- { 'cmid': $(this).val(), 'lv': 2 },//傳出 cmid及lv LV可不需要
- function(data) {
- $("#name").val(data.name); //當值傳回時id="name"接收數據
- $("#tel").val(data.phone);
- $("#address").val(data.address);
- },
- 'json'
- );
- }).trigger('change');//當id="select1"改變時執行
- });
複製代碼 index.htm
- <table width="600" border="0" align="center" cellpadding="0" cellspacing="2">
- <tr><td> </td></tr>
- <tr><td colspan="2"><img src="{$NY_ROOT_PATH}/modules/shopcart/templates/images/shopcart1.jpg" /></td></tr>
- <tr><td><table width="600" border="0" align="center" cellpadding="0" cellspacing="2">
- <form name="form1" method="post" action="shopcart2.php" onSubmit="return chkinput(this)">
- <tr><td height="30" align="right">客戶:</td><td align="left"><select id="select1" name="name"><option value="0">請選擇</option>
- {section name="net" loop=$sm_costomerselect}<option value="{$sm_costomerselect[net].cmid}">{$sm_costomerselect[net].name}</option>{/section}</select></td></tr>
- <tr><td width="250" height="30" align="right">收貨人姓名:</td>
- <td width="350" align="left"><input type="text" name="name" size="25" id="name"></td>
- </tr>
- <tr><td height="30" align="right"> 詳細地址:</td>
- <td height="30" align="left"><input name="address" type="text" id="address"></td>
- </tr>
- <tr><td height="30" align="right"> 郵遞區號:</td>
- <td height="30" align="left"><input type="text" name="post" size="25"></td>
- </tr>
- <tr><td height="30" align="right"> 連絡電話:</td>
- <td height="30" align="left"><input type="text" name="tel" size="25" id="tel"></td>
- </tr>
- </table>
複製代碼 selectcostomer.php- <?php
-
- // 資料庫設定
- include_once ('config.php');
- // 預設選項
- $data['0'] = '請選擇';
- // 只有在 parentId 與 levelNum 都存在的情況下,才進行資料庫的搜尋
- if (0 !== (int) $_GET['cmid'] && 0 !== (int) $_GET['lv']) {
- $cmid = (int)$_GET['cmid'];
- $levelNum = (int) $_GET['lv'];
- $query = sprintf("SELECT * FROM net_costomer WHERE cmid = %d" , $cmid);
- $result = mysql_query($query);
- while ($row = mysql_fetch_array($result)) {
- // 將取得的資料放入陣列中
- $data[$row['cmid']] = $row['name'];
- $data[phone] = $row['phone1'];
- $data[address] = $row['address1'];
- echo json_encode(array('cmid'=>$row['cmid'],'name'=>$row['name'],'phone'=>$row['phone1'],'address'=>$row['address1'])); //用JSON接收
- }
- }
- ?>
複製代碼 這樣就可以讓原本已經註冊的客戶直接把值放到TEXT裡面
就不需要再打一次了
|
|