пробел в выпадающем списке выберите, извлеченные из MySQL - PullRequest
0 голосов
/ 15 ноября 2010

Я использую это, чтобы заполнить раскрывающийся список:

$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();

Он видит только "Джо", а не "Джо блоггс" ?? Любые идеи

Ответы [ 4 ]

4 голосов
/ 15 ноября 2010
$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>';

Исправлено для вас:)

2 голосов
/ 15 ноября 2010

внутри цикла while:

echo "<option value=\"".$row['user']."\">".$row['user']."</option>";

добавление кавычки к значению внутри опции

2 голосов
/ 15 ноября 2010

Обернуть значение в кавычки:

echo "<option value=\"".$row['user']."\">".$row['user']."</option>";

Кроме того, обязательно наберите htmlspecialchars(), чтобы избежать возможных кавычек в имени. Например.,

$user = htmlspecialchars($row['user']);
printf('<option value="%s">%s</option>', $user, $user);
1 голос
/ 15 ноября 2010

Используйте кавычки " вокруг значений атрибутов ..

Ваш HTML должен выглядеть как

<option value="joe bloggs">joe bloggs</option>
...