JQuery не может найти список выбора

0

Я не могу, по жизни, разобраться, почему JQuery не может найти список выбора в этом коде. Я попытался получить доступ к элементам Select на нескольких тестовых страницах JQuery, и это всегда кажется прекрасным, но это ничего не делает:

<html>
<head>
    <script src="jquery.js"></script>
    <script>


    $( document ).ready(function() {
        var new_options = ['were filled with rocks', 'smelled like chicken pox', 'belonged to angry green crocs', 'are kept in a mouldy box' ];

        /* Remove all options from the select list */
        $( "#activity_1" ).empty();

        /* Insert the new ones from the array above */    
        $.each(new_options, function(value) {
        $( "#activity_1" ).append($('<option>', {value: 'Testing', text : 'Testing'}));
        });
    });
</script>
</head>
<body>
    <select id='#activity_1'><option value='dud'>This shouldn't be here</option</select>,
</body>
</html>
  • 1
    Пожалуйста, проверьте правильность вашей разметки. Кажется, <option> не закрыт должным образом.
  • 0
    также у вас есть запятая в вашем HTML (см. после выбора)
Теги:

2 ответа

4
Лучший ответ

+ Изменить

<select id='#activity_1'><
       //   ^

в

 <select id='activity_1'><

ваш selector $('#activity') ищет элемент с идентификатором "activity", а не "#activity"

  • 0
    Это именно проблема. Начальник, встреча стол.
0

Вам нужно избегать двоеточия, используя две обратные черточки:

$( "#\\#activity_1" ).empty();  

замените ниже.

$.each(new_options, function(value) {
    $( "#\\#activity_1" ).append($('<option>', {value: 'Testing', text : 'Testing'}));
});

Редактировать:

Если вы хотите использовать любой из метасимволов (таких как!) # $% & '() * +,./:; <=>? @[] ^' {|} ~) Как буквальная часть имя, вы должны избежать символа с двумя обратными косыми чертами: например, если у вас есть элемент с id = "# foobar", вы можете использовать селектор $ ("#\# foobar"). Спецификация CSS W3C содержит полную,

Справочник API-интерфейса JQuery

Или используйте id элемента таким образом, чтобы он не содержал метасимволов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню