我有一个表单,它使用 AJAX 调用根据选择框中的选择填充 div 元素。
填充的 div 的内容是我希望选择应用的多选框。不幸的是,'chzn-select' 似乎没有触发,这无疑是因为它被动态拉入。
我已经添加了这个:
<script type="text/javascript">
$(".chzn-select").chosen();
</script>
到由 AJAX 拉入的代码的底部,但它仍然没有触发。关于如何根据需要进行这项工作的任何想法?
我有一个表单,它使用 AJAX 调用根据选择框中的选择填充 div 元素。
填充的 div 的内容是我希望选择应用的多选框。不幸的是,'chzn-select' 似乎没有触发,这无疑是因为它被动态拉入。
我已经添加了这个:
<script type="text/javascript">
$(".chzn-select").chosen();
</script>
到由 AJAX 拉入的代码的底部,但它仍然没有触发。关于如何根据需要进行这项工作的任何想法?
自己解决了。将发布以供将来参考。我将 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();
尝试使用 change() 方法,而不是使用 selected()。它适用于更改事件。尝试:
$(".chzn-select").change(function () {
var str = "";
$("select option:selected").each(function () {
// do your coding here
});
})
.trigger('change');