我有一个下拉列表并在选择项目项目时我想使用ajax调用更新此下拉列表的内容,一切都很好,但我不知道如何将ajax调用返回的数组放入回调函数中数据应该用于更新我的下拉列表。谢谢你提前
答案 0 :(得分:0)
如果在ajax调用之后需要添加大量数据,那么我过去所做的就是在控制器中设置html(yii)并将完全更新的列表作为返回ajax调用。在你的ajax成功回调中替换像这样的选项比将大量变量转换为javascript要容易得多。希望这会有所帮助。
在你的Yii控制器中我会做这样的事情:$response = [];
$response["newDropdownValues"] = "<option>Value 1</option><option>Value 2</option>";
$this->controller->sendResponse(200, $response);
在你的ajax回调中,你写了类似的东西:
success: function(output) {
var reply = jQuery.parseJSON(output);
$(this).find('select').html(reply.newDropdownValues);
},
答案 1 :(得分:0)
你需要做一个更好的研究,因为这样的问题已经在Stack Overflow中得到了回答(可能不止一次)。 Here你有最好,最完美,但非常简单的例子。
通常,您必须使用jQuery's .each
方法迭代所有元素。你可以迭代你的结果(因为你说,它是一个数组)或你的选择的孩子。无论哪种方式都可行,选择最适合您的解决方案。
有another question here可以为您带来一个好主意,如何解决这个问题。
这只是两个例子,仅限于Stack Overflow。如果你做更好的研究,我很确定,你会在互联网上找到数百个类似的例子。