maykinmedia / double-listbox提交表单后未传递任何值

问题描述

我试图在我的CI应用程序中实现maykinmedia / dual-listbox,该插件工作正常,但是当我提交表单时,$ _POST变量不包含任何值。我可以提供javascript部分,但这是插件的标准init,数据由CI控制器传递。请帮忙。在html部分下方,在这种情况下,select标签中缺少名称,但是即使添加它也不会改变结果。
<select id="data" class="kt-dual-listbox" multiple
                            data-available-title="Source Options"
                            data-selected-title="Destination Options"
                            data-add="<i class='flaticon2-next'></i>"
                            data-remove="<i class='flaticon2-back'></i>"
                            data-add-all="<i class='flaticon2-fast-next'></i>"
                            data-remove-all="<i class='flaticon2-fast-back'></i>"
                    >
                    <?php foreach ($contents_data_data as $content_data_data){ ?>
                        <option value="<?= $content_data_data->id ?>"><?= $content_data_data->name ?></option>
                    <?php } ?>
</select>

类定义

var KTDualListbox = function () {

    // Private functions
    var initDualListbox = function () {
        // Dual Listbox
        var listBoxes = $('.kt-dual-listbox');

        listBoxes.each(function(){
            var $this = $(this);
            var id = '#' + $this.attr('id');
            // get titles
            var availableTitle = ($this.attr('data-available-title') != null) ? $this.attr('data-available-title') : 'Available options';
            var selectedTitle = ($this.attr('data-selected-title') != null) ? $this.attr('data-selected-title') : 'Selected options';

            // get button labels
            var addLabel = ($this.attr('data-add') != null) ? $this.attr('data-add') : 'Add';
            var removeLabel = ($this.attr('data-remove') != null) ? $this.attr('data-remove') : 'Remove';
            var addAllLabel = ($this.attr('data-add-all') != null) ? $this.attr('data-add-all') : 'Add All';
            var removeAllLabel = ($this.attr('data-remove-all') != null) ? $this.attr('data-remove-all') : 'Remove All';

            // get options
            var options = [];
            $this.children('option').each(function(){
                var value = $(this).val();
                var label = $(this).text();
                var selected = ($(this).is(':selected')) ? true : false;
                options.push({ text: label,value: value,selected: selected });
            });

            // get search option
            var search = ($this.attr('data-search') != null) ? $this.attr('data-search') : "";

            // clear duplicates
            $this.empty();

            // init dual listbox
            var dualListBox = new DualListbox(id,{
                addEvent: function(value) {
                    console.log(value);
                },removeEvent: function(value) {
                    console.log(value);
                },availableTitle: availableTitle,selectedTitle: selectedTitle,addButtonText: addLabel,removeButtonText: removeLabel,addAllButtonText: addAllLabel,removeAllButtonText: removeAllLabel,options: options
            });

            if (search == "false"){
                dualListBox.search.classList.add('dual-listbox__search--hidden');
            }
        });
    }

    return {
        // public functions
        init: function() {
            initDualListbox();
        }
    };
}();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)