Я делаю что-то глупое. Я пытаюсь заполнить поле со списком в диалоге с продуктом вызова AJAX, используя jQuery. Легко, правда?
Вот создание диалога и т. Д .:
<script type="text/javascript">
$(document).ready(function() {
var $dialog = $("#projDialog").dialog({
open: function () {
$(this).load("projectdialog.jsp");
},
autoOpen: false,
title: 'Project Management',
width: 500,
height: 300,
modal:true
});
$dialog.css('font-size', 12);
$("#projects").click(function() {
$.getJSON("getProjects.html", function(result) {
$.each(result, function() {
alert(this);
$("#existingProject").append($("<option />").val(this).text(this));
});
});
$dialog.dialog('open'); // prevent the default action, e.g., following a link
return false;
});
});
</script>
И вот div, который входит в диалог jQuery:
<div id="projDialog" title="Project Management">
<p>Select an existing project:</p>
<form action="manageProjects.html" method="post">
<select name="existingProject"></select>
<br />
<p>Or create a new one:</p>
New Project Name: <input type="text" name="newProjName" /><br />
<br/>
<input type="submit" value="Submit" />
</form>
Итак, я ожидаю, что когда я нажму на «проекты» сущности HTML, она должна открыть диалоговое окно и выполнить «getJSON», возвращая «результат» объекта.
Я застрял в предупреждении (это), чтобы показать мне, что вернулось. Работает.
Я использовал добавление к #existingProject, которое является именем поля со списком, которое я хочу заполнить.
Так озадачите меня так: как я могу получить предупреждение, чтобы получить ожидаемый результат (единственное строковое значение «Test» в данный момент), но он не добавляется в comboBox? Все, что я получаю, это пустой комбинированный список, который я вижу в отладчике Chrome JS.
Не является ли $ ("# существующий проект") неправильным селектором jQuery? Кажется, здесь была бы полезна ошибка (я вижу тему) вместо того, чтобы молча игнорировать мои любительские попытки ...
[EDIT] По запросу, возвращение JSON - это ОЧЕНЬ простая коллекция строк для имен проектов. На данный момент существует только один проект с именем «Тест».
[
"Test"
]