在yii中更改所选项目时更改下拉列表的内容

时间:2014-10-27 05:44:20

标签: php jquery ajax yii

我有一个下拉列表并在选择项目项目时我想使用ajax调用更新此下拉列表的内容,一切都很好,但我不知道如何将ajax调用返回的数组放入回调函数中数据应该用于更新我的下拉列表。谢谢你提前

2 个答案:

答案 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。如果你做更好的研究,我很确定,你会在互联网上找到数百个类似的例子。