【问题标题】:Changing contents of a drop down list on changing the selected item in yii [closed]在yii中更改所选项目时更改下拉列表的内容[关闭]
【发布时间】:2014-10-27 05:44:19
【问题描述】:

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

【问题讨论】:

标签: php jquery ajax yii


【解决方案1】:

如果在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);
    },

【讨论】:

    【解决方案2】:

    您需要进行更好的研究,因为这样的问题已经在 Stack Overflow 中得到了回答(可能不止一次)。 Here 你有最好的,完美的,但非常简单的例子。

    一般来说,你必须使用jQuery's .each 方法来遍历所有元素。您可以迭代您的结果(因为您说过,它是一个数组)或您选择的孩子。无论哪种方式都应该可行,请选择最适合您的解决方案。

    another question here可以给你带来一个好主意,如何解决这个问题。

    这只是两个示例,仅限于 Stack Overflow。如果您进行更好的研究,我敢肯定,您会在 Internet 上找到数百个类似的示例。

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 1970-01-01
      • 2014-01-12
      相关资源
      最近更新 更多