2010-08-12 134 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