У меня есть программа, настроенная для сохранения значений в базе данных - это прекрасно работает. Для каждого загруженного изображения я хочу назначить его категории из выпадающего списка опций. jmfu использует синтаксис вроде
{%=file.id||''%} # to get the ID
{%=file.name%} # to get the filename
{%=file.category||''%} # to get/display the category
Чтобы получить значение в формате, чтобы я мог получить значение категории из базы данных и выполнить тест if, чтобы проверить, выбрана ли опция раскрывающегося списка, я добавил этот код:
$category = "{%=file.category||''%}";
Тогда выпадающий код:
Category <select name="category" id="{%=file.id||''%}" size="1" class="saveData set-field-width">
<option value="" <?php if ( $category == "" ) { echo " selected "; } ?> >-- Please select --</option>
<option value="Carpet" <?php if ( $category == "Carpet" ) { echo " selected "; } ?> >Carpet</option>
<option value="Tile" <?php if ( $category == "Tile" ) { echo " selected "; } ?> >Tile </option>
</select>
Если я добавлю оператор echo, чтобы увидеть, что происходит:
echo "category: $category | <br />";
Отображает правильное значение на экране, но при просмотре источника через браузер отображает значение категории в виде:
{%=file.category||''%}
, а не Carpet или Tile, поэтому 'selected' не будет работать. Я попытался установить переменные для $ file_id и $ filename, но получил ту же проблему:
$file_id = {%=file.id||''%};
$filename = {%=file.name%};
Оператор php if никогда не будет успешным, как:
потому что $ category, как видно в представлении исходного кода HTML: {% = file.category || ''%}, а не Tile или Carpet. Есть ли способ преобразовать / перевести закодированные значения, чтобы они работали и правильно выбирались?
Демонстрацию можно посмотреть по адресу: http://www.dottedi.biz/demo/code/public/jquery-file-upload
Изображение, показанное здесь, показывает исходный вид HTML и проблему.