我有一個3步鏈接選擇序列,game -> battle -> winning side
,它從MySQL數據庫中提取所有數據。幫助鏈接選擇和現有的表單值,例如:添加<option selected =「selected」></option>
在互聯網上徘徊一段時間後,我發現一個精巧的小巧的jQuery腳本。但是,我不知道如何允許現有數據:<option selected="selected"></option>
使用此腳本。
鏈選擇的javascript:從PHP數據庫檢索腳本
<script>
var ajax = new Array();
function getScenNumList(sel)
{
var game = sel.options[sel.selectedIndex].value;
document.getElementById('scenarioNumber').options.length = 0; // Empty scenario number select box
if(game.length>0){
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'js/getPlayData.php?gameName='+game; // Specifying which file to get
ajax[index].onCompletion = function(){ createScenarioNumbers(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createScenarioNumbers(index)
{
var obj = document.getElementById('scenarioNumber');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}
function getNations(sel)
{
var scenNum = sel.options[sel.selectedIndex].value;
document.getElementById('victor').options.length = 0; // Empty nation select box
if(scenNum.length>0){
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'js/getPlayData.php?scenID='+scenNum; // Specifying which file to get
ajax[index].onCompletion = function(){ createNations(index) }; // Specify function that will be executed after file has been found
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createNations(index)
{
var obj = document.getElementById('victor');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}
</script>
摘錄(getPlayData.php
):
$gameName = mysql_real_escape_string($_GET['gameName']);
$q = "SELECT a, b, c FROM table WHERE game='$gameName' ORDER BY num ASC";
$r = mysql_query($q);
echo "obj.options[obj.options.length] = new Option('#','');\n";
while ($row = mysql_fetch_row($r)) {
$string = mysql_real_escape_string(($row[0].' - '.$row[1])); // needed so quotes ' " don't break the javascript
echo "obj.options[obj.options.length] = new Option('$string','$row[2]');\n";
}
呼應obj.options
是股票方法這個腳本使用。這對我來說似乎很難看,但我不知道任何JavaScript,所以我不想擺弄它。
HTML很簡單,只是一個表格,其中有幾個空的<select>
對象,其ID與javascript和onchange="getXXX(this)"
調用中的ID匹配。
我的問題是這樣的:一切爲了新紀錄的偉大工程,但我很茫然,我怎麼可以改變此作爲選擇支持標誌着從各選擇一個選項,假設我有手數據(例如:用戶正在編輯現有記錄)?
非常感謝!
要選擇任意選項,或者一些特定的一個? – Vivek 2011-04-08 02:55:41
@Vivik - 目前我正在使用它來輸入新的播放記錄,但我希望能夠使用它來編輯現有記錄。在這種情況下,我將掌握遊戲,戰鬥和獲勝方數據(來自數據庫),並且希望表單能夠加載已選擇的這些項目。這樣做* *只是微不足道的,但我沒有鏈接選擇功能。這有助於澄清? – Drew 2011-04-08 03:00:51
@安德魯:你在「但是我沒有鏈式選擇功能」中意味着什麼?這些javascript函數並不涉及如何通過PHP顯示現有數據。 – coolkid 2011-04-08 03:29:59