2010-08-12 2 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); 

Таким образом, выше создает поле выбора, названное на основе идентификатора строки с использованием сверки. Где я застрял мне нужно динамически заполнять варианты, я могу сделать это с помощью 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

Вы можете добавить PHP в середине вашего JS. Сначала 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

+0

между ними?> DrLazer

+0

извините, но в связи с этим вписывается в: var cell2 = row.insertCell (1); var sel = document.createElement ('select'); sel.name = 'selRow' + rowCount; sel.options [0] = новый вариант ('текст ноль', 'значение0'); sel.options [1] = новый вариант ('text one', 'value1'); cell2.appendChild (sel); – Bift