我正在使用这个php在mySQL数据库的表单中填充jQuery Mobile选择菜单:
$OTsql = "SELECT * FROM OrderTypes";
$OTresult = mysql_query($OTsql) or die (mysql_error());
while ($row = mysql_fetch_array($OTresult))
{
$OTid=$row["id_ot"];
$OTname=$row["orderTypes"];
$OToptions.="<OPTION VALUE=\"$OTid\">".$OTname;
}
html是这样的:
<label>Order Type:</label><br>
<select name="orderType" id="orderType" data-overlay-theme="e" data-native-menu="false" data-icon="arrow-d">
<option id="0" value=""> Select Order Type </option>
<option>
<? echo $OToptions ?>
</option>
</select>
虽然我可以单击选择菜单并查看数据库中列出的选项,但它显示一个空白(选择菜单按钮本身没有列出文本),当我单击菜单时,顶部位置是一个空白占位符。 我已经尝试了各种各样的jQuery选项,比如我在SO上找到的变体:
$(document).bind('mobileinit',function(){
$.mobile.selectmenu.prototype.options.hidePlaceholderMenuItems = true;
});
更大的问题(我可能没有按钮上默认列出的第一个选项或“选择订单类型”作为按钮上列出的项目 - 这将是理想的),但是当我去保存时一个预先存在的表单,它将在那里选择的任何内容更改为数据库记录中的空白。 任何见解将不胜感激。我甚至不确定我是否会以正确的方式解决这个问题。
答案 0 :(得分:0)
你正在构建错误的选项。试试这个:
$OTsql = "SELECT * FROM OrderTypes";
$OTresult = mysql_query($OTsql) or die (mysql_error());
while ($row = mysql_fetch_array($OTresult))
{
$OTid=$row["id_ot"];
$OTname=$row["orderTypes"];
$OToptions.="<option value=\"$OTid\">".$OTname ."</option>";
}
HTML
<label>Order Type:</label><br>
<select name="orderType" id="orderType" data-overlay-theme="e" data-native-menu="false" data-icon="arrow-d">
<option id="0" value=""> Select Order Type </option>
<?php echo $OToptions ?>
</select>
</label>
BTW,不推荐使用mysql_ *函数。更改为mysqli_ *或_PDO函数
答案 1 :(得分:0)
你能试试吗,
$OToptions.="<option value=\"$OTid\">".$OTname."</option>";
<select name="orderType" id="orderType" data-overlay-theme="e" data-native-menu="false" data-icon="arrow-d">
<option id="0" value=""> Select Order Type </option>
<?php while ($row = mysql_fetch_array($OTresult))
{
$OTid=$row["id_ot"];
$OTname=$row["orderTypes"];
echo "<option value=\"$OTid\">".$OTname."</option>";
}
?>
</select>
答案 2 :(得分:0)
正如我从您的代码中看到的那样,我希望生成的输出为:
...
<option>
<option>....</option>
...
<option>....</option>
</option>
...
这是错误的。尝试通过修改html标记来删除外部标记:
<select name="orderType" id="orderType" data-overlay-theme="e" data-native-menu="false" data-icon="arrow-d">
<option id="0" value=""> Select Order Type </option>
<? echo $OToptions ?>
</select>
此外,为了改进风格,我建议您以更易读的方式重新格式化PHP部分,例如:
$OToptions .= '<option value="'.$OTid.'">'.$OTname;