【问题标题】:Select2 onchange not workingSelect2 onchange 不起作用
【发布时间】:2013-11-20 12:48:30
【问题描述】:

当我将 select2 添加到我的应用程序中的所有选择时,它工作得非常好,除非在我的选择中是这个属性(当我不使用 select2 时它工作):

onchange="'refresh()'"

功能刷新:

function refresh()
{
    document.forms[0].submit();
}

这就是我运行 select2 的方式

    $("select").each(function(){
        var this1 = $(this);
        if(this1.attr('multiple')!='multiple')
        {
            this1.select2();
        }
    });

如何通过这个?或者也许 select2 内部有一些机制可以处理这类问题?欢迎各种建议:D

【问题讨论】:

  • 告诉我们什么不起作用。因为它在这里工作正常jsFiddle
  • 我正在处理它,我会在几分钟内给你一些信息。顺便说一句,谢谢你的回应。
  • 我使用的选择来自网络工作。很长一段时间以来它都运行良好,但是向其中添加 select2 会产生问题。

标签: javascript jquery select jquery-select2


【解决方案1】:

你需要更新这个: $(#Select/Input Element).select2();

$("#select/input element").change(function () {
var valueToSet = $("#select/input element").select2('data').text;
$('#hiddent field to which data to be set').val(valueToSet);
});

【讨论】:

  • “选择/输入元素”是什么意思?你能更准确地解释一下吗:)?我是 jQuery 和 javascript 的新手
  • Emil,当您将 select2 与 Ajax 一起使用时,您需要使用 input 元素,而在这种情况下,当您将 select2 用于 select 元素时,您没有使用 ajax。
【解决方案2】:

不确定是否理解。当您的其中一个选择更改时,您要调用刷新方法吗?在那种情况下:

$("select").each(function(){
    var $this = $(this);
    if($this.attr('multiple')!='multiple'){
        $this.select2();
        $this.change(refresh);
    }
});

【讨论】:

    【解决方案3】:

    从 onchange="'refresh()' 中删除单引号。尝试如下所述:

    <input type="checkbox" onchange="Refresh();"/>
    

    您的脚本将定义如下:

    <script type="text/javascript">
    
            function Refresh() {
                alert('refresh');
            }
    </script>
    

    【讨论】:

    • 我已经用我的选择而不是输入试过了。还是什么都没有。
    • 你能用你正在使用的代码更新你的问题吗?
    猜你喜欢
    • 2022-11-03
    • 2011-02-02
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 2013-02-04
    相关资源
    最近更新 更多