【发布时间】:2014-10-27 05:44:19
【问题描述】:
我有一个下拉列表,在选择项目项时,我想使用 ajax 调用更新此下拉列表的内容,一切都很好,但我不知道如何将 ajax 调用返回的数组作为数据放入回调函数中用于更新我的下拉列表。提前谢谢
【问题讨论】:
我有一个下拉列表,在选择项目项时,我想使用 ajax 调用更新此下拉列表的内容,一切都很好,但我不知道如何将 ajax 调用返回的数组作为数据放入回调函数中用于更新我的下拉列表。提前谢谢
【问题讨论】:
如果在ajax调用之后需要添加大量数据,我过去所做的就是在控制器(yii)中设置html并将完全更新的列表作为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);
},
【讨论】:
您需要进行更好的研究,因为这样的问题已经在 Stack Overflow 中得到了回答(可能不止一次)。 Here 你有最好的,完美的,但非常简单的例子。
一般来说,你必须使用jQuery's .each 方法来遍历所有元素。您可以迭代您的结果(因为您说过,它是一个数组)或您选择的孩子。无论哪种方式都应该可行,请选择最适合您的解决方案。
有another question here可以给你带来一个好主意,如何解决这个问题。
这只是两个示例,仅限于 Stack Overflow。如果您进行更好的研究,我敢肯定,您会在 Internet 上找到数百个类似的示例。
【讨论】: