【问题标题】:Select2 (input) value as object after select itemSelect2(输入)值作为选择项目后的对象
【发布时间】:2014-09-16 03:13:12
【问题描述】:

我的代码中有一个 select2(jQuery 插件),除了我选择一个项目的情况外,它可以正常工作。

值错误。

表格:

    <form id="Teste" method="get" action="">
        <input type="hidden" id="e6" name="e6" class="select2" style="width: 600px;" />

        <input type="submit" value="Send" />
    </form>

来自 select2 的输入 - 隐藏(远程数据需要) - 值:[对象]

<input type="hidden" id="e6" name="e6" class="select2 select2-offscreen" style="width: 600px;" tabindex="-1" title="" value="[object Object]">

用于实例 select2 的 Javascript:

        function formatRes(item) {
            return item.Text;
        }

        function formatSel(item) {
            return item.Value;
        }

        $("#e6").select2({
            placeholder: "Select your supplier",
            minimumInputLength: 0,
            id: function(data){return {id: data.id};},
            allowClear: true,
            ajax: {
                url: "http://localhost:1396/List/_GetDropDownListSupplier",
                dataType: 'jsonp',
                quietMillis: 300,
                data: function (term, page) {
                    return {
                        searchString: term,
                        pageSize: 60,
                        pageIndex: page,
                    };
                },
                results: function (data, page) {
                    return {results: data.results, more: (page * 60) < data.total };
                }
            },
            formatResult: formatRes,
            formatSelection: formatSel,
            dropdownCssClass: "bigdrop",
            escapeMarkup: function (m) { return m; }
        });

ajax 向 Select2 返回的 Json 示例:

{"results":[{"Selected":false,"Text":"Cezar Barbara","Value":"724"},{"Selected":false,"Text":"Cezar Barbara","Value":"765"}],"total":82}

【问题讨论】:

  • 为什么人们反对一个合理的问题?

标签: javascript jquery asp.net-mvc jquery-select2


【解决方案1】:

已解决:

id: function(data){return data.Value;}

我返回的是一个带有 id 而不是直接值的对象。

感谢 Stackoverflow PT 的 @mgibsonbr

【讨论】:

    【解决方案2】:

    你需要使用select 元素,试试这个:

    <form>
        ...
        <select id="someSelect">
            //options
        </select>
        <input type="hidden" name="fromSelect" id="fromSelect" value=""/>
    </form>
    

    你有两个选择:

    1.- 直接从选择中获取值:

    var selected = $('#someSelect').val();
    

    2.- 将值分配给隐藏的输入,然后获取它的值:

    $('#someSelect').on('change', function(){
        $('#fromSelect').attr('value', this.value);
    });
    
    var selected = $('#fromSelect').val();
    

    【讨论】:

    • 我正在使用远程数据。我无法将 select2 附加到 html select 中,仅在隐藏的输入中(作为文档)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 2017-07-22
    相关资源
    最近更新 更多