2010-08-12 40 views
0

請幫助,我有一個動態的JS表,所以你可以添加和刪除行通過單擊按鈕。一個領域,我需要的行內添加是一個選擇框,沒有問題所以我用的是以下幾點:動態下拉列表從SQL與JS

var cell2 = row.insertCell(1); 
var sel = document.createElement('select'); 
sel.name = 'selRow' + rowCount; 
sel.options[0] = new Option('text zero', 'value0'); 
sel.options[1] = new Option('text one', 'value1'); 
cell2.appendChild(sel); 

所以上面創建一個選擇框,基於使用rowCount時行ID命名。當我堅持是我需要動態填充選項,我可以使用下面的用php做到這一點,但它連接的是我卡上的JS和PHP:

$getProd_sql = 'SELECT * FROM products'; 
$getProd = mysql_query($getProd_sql);     
$prov = "<select name=\"product\" id=\"product\" onChange=\"testajaxprod();\">"; 
$prov .= " <option value=\"0\" selected=\"selected\">Select Product</option>"; 
     while($row = mysql_fetch_array($getProd)) 
     { 
      $prov .= "<option value=\"$row[product_id]\">$row[product_name]</option>"; 
     } 
$prov .= "</select>"; 

你的幫助是非常非常感激。

感謝, B.

回答

0

您可以在JS的中間增加PHP。 PHP將首先運行,併爲您提供一個包含值的文件,就像我的魔法一樣。

要從PHP填充而不是在文本中生成數據,您可以執行此操作。

$getProd_sql = 'SELECT * FROM products'; 
$getProd = mysql_query($getProd_sql); 
while($prod = mysql_fetch_object($getProd)) 
{ 
    ?> 
    var text = documentElement.createElement('select'); 
    documentElement.value = <?=$prod->value?> 
    <? 
} 

請注意您可以使用PHP打入和跳出的方式。還可以避免寫「回聲」或任何東西。你將不得不用你的下拉或其他任何東西來替換簡單的文本框。

希望這會有幫助

+0

謝謝你,但是,如何配合JAVASCRIPT方面呢? – Bift 2010-08-12 09:45:31

+0

inbetween the?><?是JavaScript。 – DrLazer 2010-08-12 10:05:58

+0

對不起,但關於它符合: var cell2 = row.insertCell(1); var sel = document.createElement('select'); sel.name ='selRow'+ rowCount; sel.options [0] =新選項('text zero','value0'); sel.options [1] =新選項('text one','value1'); cell2.appendChild(sel); – Bift 2010-08-12 10:07:42