我正在使用它来填充下拉列表:
$result = mysql_query("SELECT user from `users` order by user asc") or die(mysql_error());
echo '<select name="user" class="user">';
while ($row = mysql_fetch_array($result)) {
echo "<option value=".$row['user'].">".$row['user']."</option>";
}
echo '</select>';
但来源是:
<select name="user" class="user"><option value=joe bloggs>joe bloggs</option>
所以当我这样做时:
var user = $('.user').val();
它只看到“乔”不是“乔博客”?任何想法
答案 0 :(得分:4)
$result = mysql_query("SELECT user from `users` order by user asc") or die(mysql_error());
echo '<select name="user" class="user">';
while ($row = mysql_fetch_assoc($result)) {
echo '<option value="'.htmlspecialchars($row['user']).'">'.htmlspecialchars($row['user']).'</option>';
}
echo '</select>';
为您纠正:)
答案 1 :(得分:2)
用引号括起来:
echo "<option value=\"".$row['user']."\">".$row['user']."</option>";
另外,请务必htmlspecialchars()
以便在名称中删除中的可能引号。如,
$user = htmlspecialchars($row['user']);
printf('<option value="%s">%s</option>', $user, $user);
答案 2 :(得分:2)
在while循环中尝试:
echo "<option value=\"".$row['user']."\">".$row['user']."</option>";
基本上为选项
中的值添加引号答案 3 :(得分:1)
在属性值周围使用引号"
..
你的HTML应该是
<option value="joe bloggs">joe bloggs</option>