1

我正在使用 ajax 获取部分视图的 HTML,该部分视图包含一个下拉列表,我希望使用 Chosen jQuery 插件对其进行样式设置。我动态添加的第一个样式正确,但是所有其他都成为链接并且没有获得正确的样式/功能。

在行中添加后,我使用:

$(".chosen").last().css('width', '150px').chosen();

该元素确实开始正确设置样式,但并没有完全正确。这是输出。

<div id="SelectedRate_chzn" class="chzn-container" style="width: 150px;">
    <a href="javascript:void(0)" class="chzn-single chzn-default">
        <span>Select an Option</span>
        <div><b></b></div>
    </a>
    <div class="chzn-drop" style="left:-9000px;">
        <div class="chzn-search">
            <input type="text" autocomplete="off">
        </div>
        <ul class="chzn-results"></ul>
    </div>
</div>

我认为我的部分观点没有任何问题,但如果您需要其他内容,请在下方评论。

4

1 回答 1

1

通过对话框将记录添加到现有表单时,我遇到了同样的问题,我设法做到了如下:

在成功调用 ajax 之后,我向原始 select 元素添加了一个新选项,并触发liszt:updated事件以选择重新读取 select 元素并更新自身。

例如:ajax调用返回要添加的新联系人数据为json字符串

{ id:123, label:'new contact name' }

将新选项附加到选择:

$('select#contact_id').append('<option value='+data.id+'>'+data.label+'</option>')

触发事件(您可以将其链接到上一个调用)

$('select#contact_id').trigger('liszt:updated');

希望这能让你继续前进!

亲切的问候

于 2012-09-14T15:44:24.787 回答