使用 jQuery 多文件上传,您如何在下拉列表中填充一个值,以便项目显示为选中状态?

With jQuery Multiple File Upload how do you populate a value in a dropdown list so that an item shows as selected?

我将程序设置为将值保存到数据库中 - 这工作正常。对于上传的每张图片,我想将其分配给选项下拉列表中的一个类别。 jmfu 使用类似

的语法
{%=file.id||''%} # to get the ID
{%=file.name%} # to get the filename
{%=file.category||''%} # to get/display the category

为了将值转换为一种格式,以便我可以从数据库中获取类别值并进行 if 测试以查看下拉选项是否 selected 我添加了以下代码:

$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||''%}

而不是地毯或瓷砖,这就是 'selected' 不起作用的原因。我尝试为 $file_id 和 $filename 设置变量,但遇到同样的问题:

$file_id = {%=file.id||''%};
$filename = {%=file.name%};

php if 语句永远不会成功,如下所示:

因为在 HTML 源代码视图中看到的 $category 是:{%=file.category||''%} 而不是 Tile 或 Carpet。有没有办法 convert/translate 编码值,以便它们工作并且 select 正确?

可在以下位置查看演示:http://www.dottedi.biz/demo/code/public/jquery-file-upload

此处显示的图像显示了 html 源视图和问题。

替换为:<?php if ( $category == "Tile" ) { echo " selected "; } ?> 这样:{% if (file.category == "Tile") { %} 选择了 {% } %}。有关详细信息,请参阅下面的 link: https://blueimp.github.io/JavaScript-Templates/