1

我有一个表单,它使用 AJAX 调用根据选择框中的选择填充 div 元素。

填充的 div 的内容是我希望选择应用的多选框。不幸的是,'chzn-select' 似乎没有触发,这无疑是因为它被动态拉入。

我已经添加了这个:

    <script type="text/javascript">
    $(".chzn-select").chosen();
    </script>

到由 AJAX 拉入的代码的底部,但它仍然没有触发。关于如何根据需要进行这项工作的任何想法?

4

2 回答 2

6

自己解决了。将发布以供将来参考。我将 Chosen 调用放在调用 AJAX 的原始页面上的自己的函数中:

    <script type="text/javascript">
    function doChosen() {
        $(".chzn-select").chosen();
        $(".chzn-select-deselect").chosen({allow_single_deselect:true});
    }
    </script>

在 AJAX 脚本本身中,我在 responseText 部分之后添加了对该函数的调用:

    document.getElementById(div).innerHTML=oXmlHttp.responseText
    doChosen();
于 2012-12-06T15:49:17.737 回答
0

尝试使用 change() 方法,而不是使用 selected()。它适用于更改事件。尝试:

$(".chzn-select").change(function () {
          var str = "";
          $("select option:selected").each(function () {
                // do your coding here
              });

        })
        .trigger('change');
于 2012-12-06T15:34:21.327 回答