2013-04-09 8 views
0

У меня динамический combobox, и у меня есть кнопка Fetch. Когда пользователь выбирает значение из кнопки combobox и кнопки выбора кликов, все остальные связанные значения отображаются в текстовом поле для редактирования и обновления записей. И это прекрасно работает.отображение результатов по выбору combobox

<form id="form1" method="post" action="edit.php"> 
    <select name="ID" id="select"> 
    <?php display_Id();?> 
    </select> 
    <input type="submit" name="Fetch" id="Fetch" value="Fetch" /> 
</form> 

function display_Id() { 
    $query = "SELECT * FROM Flight"; 

    $result = mysql_query($query) or die("Failed to fetch records"); 
    confirm_query($result); 

    while($rows = mysql_fetch_array($result)) { 
     $flightNum = $rows['FlightNo']; 
     echo "<option value=\"$flightNum\" "; 
     echo " selected"; 
     echo "> $flightNum </option>"; 
    }  
} 

Проблема в кнопке Fetch. Когда пользователь щелкает Fetch, отображаются другие значения, но выбранное значение из combobox обновляется. Как заставить значения оставаться выбранными даже после нажатия кнопки Fetch?

+1

Пожалуйста, добавьте 'display_Id()' код на вопрос для того, чтобы получить помощь. – barbashov

+0

Вам нужно будет пометить опцию, выбранную в вашем методе 'display_Id()'. Вы можете получить значение выбранного параметра из '$ _POST ['ID']' –

+0

Я добавил display_Id(); – deepz

ответ

0

Ваш вопрос неполный в том смысле, что у вас нет вашего dislay_Id() кода, показанного здесь. Однако, вообще говоря, вы должны добавить selected после <option value="something" программно,

Кодекс должен быть чем-то вроде этого:

function displayId(){ 
    if($value[x]== $currentValue) { 
    echo "<option value='$value[x]' selected>sth</option>"; 
    } 
    else 
    { 
    echo "<option value='$value[x]'>sth</option>"; 
    } 
} 

EDIT :: Ваш код добавляет «выбранный» для каждого из значений, вы должны только добавьте «выбранный» в текущее значение.

Таким образом, ваш код должен выглядеть следующим образом:

echo "<option value=\"$flightNum\" "; 

if($_POST['ID'] == $flightNum) 
{   
    echo " selected"; 
} 
echo "> $flightNum </option>"; 
+0

Я добавил «выбрано» в

+0

Я думаю, что ваш код добавляет выбранные к каждому из значений? – cipher

+0

Да, он добавляет выбранные. – deepz

0
while($rows = mysql_fetch_array($result)) 
{ 
    $flightNum = $rows['FlightNo']; 
    echo "<option value=\"$flightNum\" "; 
    if($_POST['ID'] == $flightNum) 
    { 
     echo " selected"; 
    } 
    echo "> $flightNum </option>"; 
} 
+0

Я просто попробовал это, и выбранное значение освежает – deepz

+0

Спасибо. Это сработало. – deepz

+0

отлично! можете ли вы изменить это на принятый ответ для будущих посетителей? :) – verbumSapienti

Смежные вопросы