2014-02-07 3 views
3

У меня есть форма, в которой есть поле для выбора нескольких элементов и 3 значения и некоторые другие поля. Я хочу выделить выбранные значения из списка после отправки, используя php-код. Как я смогу выполнить эту задачу?Выделить значения в списке Multi-Select

PHP код: -

<select id="txtconfort" name="txtconfort[]" multiple="multiple" style="width:72%; height:60px;"> 
    <option value="Power Steering">Power Steering</option> 
    <option value="Power Windows">Power Windows</option> 
    <option value="Engine Start/Stop Button">Engine Start/Stop Button</option> 
</select> 

Для например. если я выбираю Power Steering и Power Windows, то после отправки я хочу выделить эти значения в одних и тех же файлах с помощью выбранного свойства. Пожалуйста, помогите мне!

ответ

1

Попробуйте это:

<select id="txtconfort" name="txtconfort[]" multiple="multiple" style="width:72%; height:60px;"> 
    <option value="Power Steering" <?php if(in_array('Power Steering',$_POST['txtconfort'])) { echo "style='background-coloe:#ccc;'" } ?> >Power Steering</option> 
    <option value="Power Windows" <?php if(in_array('Power Windows',$_POST['txtconfort'])) { echo "style='background-coloe:#ccc;'" } ?> >Power Windows</option> 
    <option value="Engine Start/Stop Button" <?php if(in_array('Engine Start/Stop Button',$_POST['txtconfort'])) { echo "style='background-coloe:#ccc;'" } ?> >Engine Start/Stop Button</option> 
</select> 
0

Вы можете попробовать:

<select id="txtconfort" name="txtconfort[]" multiple="multiple" style="width:72%; height:60px;"> 
    <option value="Power Steering" <?php if(in_array('Power Steering',$_POST['txtconfort'])) { echo "selected='true'" } ?> >Power Steering</option> 
    <option value="Power Windows" <?php if(in_array('Power Windows',$_POST['txtconfort'])) { echo "selected='true'" } ?> >Power Windows</option> 
    <option value="Engine Start/Stop Button" <?php if(in_array('Engine Start/Stop Button',$_POST['txtconfort'])) { echo "selected='true'" } ?> >Engine Start/Stop Button</option> 
</select> 

Logic является echoselected="true" для каждого варианта, если он присутствует в массиве

Вы можете использовать этот в петле также для отображения опционных заявлений

1

Вот как вы можете сделать:

<?php 
    $posted_txtconfort = array(); 
    if(isset($_POST["usubmit"])){ 
     if(isset($_POST["txtconfort"])) $posted_txtconfort = $_POST["txtconfort"]; 
    } 
?> 

<form method="post"> 
    <select id="txtconfort" name="txtconfort[]" multiple="multiple" style="width:72%; height:60px;"> 
     <option value="Power Steering" <?php if(sizeof($posted_txtconfort) && in_array("Power Steering",$posted_txtconfort)){ echo "SELECTED" ;}?>>Power Steering</option> 
     <option value="Power Windows" <?php if(sizeof($posted_txtconfort) && in_array("Power Windows",$posted_txtconfort)){ echo "SELECTED" ;}?> >Power Windows</option> 
     <option value="Engine Start/Stop Button" <?php if(sizeof($posted_txtconfort) && in_array("Engine Start/Stop Button",$posted_txtconfort)){ echo "SELECTED" ;}?> >Engine Start/Stop Button</option> 
    </select> 
    <input type="submit" name="usubmit" value="Submit"> 
</form> 

Приведенный выше код будет убедиться, что вы не получите каких-либо неопределенный индекс, когда вы не размещаете данные.

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