jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 具有不同动态加载列表的多个XEditable Select2元素:仅绑定第一个URL数据源大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_674_2@
我有以下几个绑定多个锚元素与类’团队’是x可编辑的SELEct2输入.每个a.team都有一个不同的数据源(传递给Web服务的ID不同,以便返回适用的团队列表),但不幸的是,一旦绑定了第一个a.team,就会使用该数据源URL对于页面上的所有后续a.team输入(因此,错误的团队列表将绑定到每个后续的x-editable SELEct2输入).

是否可以“重置”SELEct2的data属性,以便它尊重每个a.team元素的每个数据源?或任何其他解决方案?

$('a.team').editable({
    ajaxOptions: {
        dataType: 'json',type: 'POST'
    },emptytext: 'TBD',placement: 'bottom',success: function (response,newvalue) {
        return editableResponse(response,newvalue);
    },SELEct2: {
        allowClear: true,placeholder: 'SELEct a team',width: '200px',id: function (item) {
            return item.id;
        },ajax: {
            dataType: 'json',results: function (data,pagE) {
                return { results: data };
            }
        },}
});

多个a.team锚定在页面上,如下所示:

<a href="#" class="ur-team label label-inverse" data-type="SELEct2" data-pk="@match.Id" data-source="@Url.Action("GetTeams","Teams",new { schedulEID = match.schedulEID })" data-value="@match.AwayTeamId" data-text="@match.AwayTeam" data-name="away" data-title="update away team" data-url="@Url.Action("updateTeam","AdminMatches")">@match.AwayTeam</a>

注意:我已经验证只有第一个x-editable SELEct2输入的ID用于所有其他SELEct2 AJAX调用.换句话说,它不是数据缓存问题(它是“一旦绑定,所有其他数据源引用被忽略”问题).

更新:这是一个复制问题的快速而肮脏的小提琴:http://jsfiddle.net/ovalsquare/k9b3d/8/.请注意,最终都绑定到list2而不是list,然后是list2.

@H_674_2@

解决方法

不确定这是否是您已经虑过的工作之一,或者这可能会如何影响应用程序的性能.但是单独初始化每个.team元素都有效.

我将再研究一下,看看我是否能找到更好的方法,但这是目前的解决方案:

$('a.team').each(function(){
    $(this).editable({
        ajaxOptions: {
            dataType: 'json',type: 'POST'
        },newvalue) {
            return editableResponse(response,newvalue);
        },SELEct2: {
            allowClear: true,id: function (item) {
                return item.id;
            },ajax: {
                dataType: 'json',pagE) {
                    return { results: data };
                }
            },}
    });
});

http://jsfiddle.net/trevordowdle/k9b3d/11/

更好的解决方法是在没有源数据属性的情况下初始化可编辑:

<a href="#" class="team" data-type="SELEct2" data-pk="1" data-getsource="/list" data-value="100" data-text="Team A" data-name="home" data-title="update home team" data-url="/post">Team A</a>

然后通过设置源via选项在初始化之后为每个.team添加它:

$('a.team').each(function(){
    $(this).editable('option','source',$(this).data('getsource'));
});

但不幸的是,当以这种方式设置源时,它不起作用.我能找到的最佳解决方案是上面的解决方案.

看起来这里有一些可编辑的错误

初始化具有不同源的多个选择可编辑时.并使用选项方法设置源.

@H_674_2@ @H_674_2@
@H_674_2@
@H_674_2@

大佬总结

以上是大佬教程为你收集整理的jquery – 具有不同动态加载列表的多个XEditable Select2元素:仅绑定第一个URL数据源全部内容,希望文章能够帮你解决jquery – 具有不同动态加载列表的多个XEditable Select2元素:仅绑定第一个URL数据源所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。