флажок установлен внутри поля загрузки начальной загрузки с помощью php

0

Я использую следующий код для проверки чекбокса во время выполнения для каждого цикла. Но флажок не проверяется на основе значения массива. Я использовал explode для создания $ newsource.Actualy У меня был sourceIds = 100252 & sourceIds = 100111

    $newsource =  Array ( [0] => sourceIds=100252 [1] => sourceIds=100111 );

        <select id="source" class="form-control source" multiple="multiple">
            <?php $loop=0; foreach($sources->sources as $row) {
       echo $loop;
        if($newsource[$loop]==$row->id) {

echo '<option checked="'.checked.'" value="'.$row->id.'">'.$row->name.'</option>';

        }
        else {
            echo '<option value="'.$row->id.'">'.$row->name.'</option>';
            echo "a".$newSource[$loop];
        }
        $loop = $loop +1;}  ?></select>
Теги:

3 ответа

0
    $sourceSession = "sourceIds=100252&sourceIds=100111";
    $newSource = explode('=',$sourceSession);
      preg_match_all('!\d+!', $sourceSession, $matches);


<select id="source" class="form-control source" multiple="multiple">
<?php $loop=0; foreach($sources->sources as $row) {
        if(isset($matches[0][$loop])) {
                        $a = $loop;
                        $mtch = $matches[0][$a];
                                                    }


    if($row->id==$mtch) {
    echo '<option selected="'.selected.'" value="'.$row->id.'">'.$row->name.'</option>';
        $loop = $loop + 1;
    }
    else {
        echo '<option value="'.$row->id.'">'.$row->name.'</option>';

    }
    }  ?></select>
0

Пытаться:

if($newSource[$loop]==$row->id) {
    echo '<option value="'.$row->id.'" selected>'.$row->name.'</option>';
}
else {
    echo '<option value="'.$row->id.'">'.$row->name.'</option>';
    echo "a".$newSource[$loop];
}
  • 0
    вы заметили $ newsource = Array ([0] => sourceIds = 100252 [1] => sourceIds = 100111); я думаю, что это проблема
  • 0
    проверьте ниже пожалуйста, как я решил
0

Вы используете проверочный, а не выбранный, и, кстати, используя его как константу, а не как часть строки

...
echo '<option selected="selected" value="'.$row->id.'">'.$row->name.'</option>';
...

У вашего кода есть и другие проблемы: определение массива выглядит некорректно, вы обращаетесь к нему как к простому массиву, но определение дает мне впечатление, что это ассоциативный массив. И вы также ссылаетесь на $newsource как $newSource ближе к концу.

  • 0
    проверьте ниже пожалуйста, как я решил

Ещё вопросы

Сообщество Overcoder
Наверх
Меню