第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 JQuery 中禁用從一個(gè)列表框到另一個(gè)列表框的選定選項(xiàng)?

如何在 JQuery 中禁用從一個(gè)列表框到另一個(gè)列表框的選定選項(xiàng)?

慕森王 2021-12-12 15:59:12
我有三個(gè)雙列表框,我使用 jquery 和引導(dǎo)程序,這里我的問題是,只需要禁用選定的選項(xiàng)一個(gè)列表框到另外兩個(gè)列表框。例如我有 3 個(gè)雙列表框,如box-1、box-2、box-3,每個(gè)框有 3 個(gè)選項(xiàng),如opt1、opt2、opt3,如果我從Box-1 中選擇一個(gè)選項(xiàng)(opt1)然后點(diǎn)擊提交,提交后,然后該選項(xiàng)(opt1)將禁用剩余的兩個(gè)框(框 2 和框 3)。我已經(jīng)嘗試了很多方法來實(shí)現(xiàn)這一目標(biāo),但我沒有得到任何結(jié)果。我希望我的問題是可以理解的示例圖片..??!這是我的完整代碼...FIDDLE 或 PLAYCODE 在這里..這是我的頁面的預(yù)覽..點(diǎn)擊預(yù)覽我的頁面
查看完整描述

2 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊

var val = new Array();

(function($) {

  function refresh_select($select) {

    // Clear columns

    $select.wrapper.selected.html('');

    $select.wrapper.non_selected.html('');


    // Get search value

    if ($select.wrapper.search) {

      var query = $select.wrapper.search.val();

    }


    var options = [];


    // Find all select options

    $select.find('option').each(function() {

      var $option = $(this);

      var value = $option.prop('value');

      var label = $option.text();

      var selected = $option.is(':selected');


      options.push({

        value: value,

        label: label,

        selected: selected,

        element: $option,

      });

    });


    // Loop over select options and add to the non-selected and selected columns

    options.forEach(function(option) {

      var $row = $('<a tabindex="0" role="button" class="item"></a>').text(option.label).data('value', option.value);

      // Create clone of row and add to the selected column

      if (option.selected) {

        $row.addClass('selected');

        var $clone = $row.clone();


        // Add click handler to mark row as non-selected

        $clone.click(function() {

          // to remove disabled class from item

          option.element.prop('selected', false);

          val.pop(option.label);

          $('.non-selected-wrapper .item.selected').each(function() {

            var $item_values = $(this).text();

            if ($.inArray($item_values, val) == -1) {

              $(this).removeClass('selected');

            }

          });

          $select.change();

        });



        // Add key handler to mark row as selected and make the control accessible

        $clone.keypress(function() {

          if (event.keyCode === 32 || event.keyCode === 13) {

            // Prevent the default action to stop scrolling when space is pressed

            event.preventDefault();

            option.element.prop('selected', false);

            $select.change();

          }

        });

        $select.wrapper.selected.append($clone);

      }

      if ($.inArray(option.label, val) !== -1) {

        $row.addClass('selected');

      }




      // Add click handler to mark row as selected

      $row.click(function() {

        // to disable other items of same name in other boxes

        if ($.inArray(option.label, val) == -1) {

          option.element.prop('selected', 'selected');

          $select.change();

          val.push(option.label);

        }

        $('.non-selected-wrapper .item').each(function() {

          var $item_values = $(this).text();

          if ($.inArray($item_values, val) !== -1) {

            $(this).addClass('selected');

          }

        });

        $('.pnl_slet option').each(function() {

            var options = $(this).text();

            if ($.inArray(options, val) !== -1) {

            $(this).attr('disabled','true');

          }

        });

      });


      // Add key handler to mark row as selected and make the control accessible

      $row.keypress(function() {

        if (event.keyCode === 32 || event.keyCode === 13) {

          // Prevent the default action to stop scrolling when space is pressed

          event.preventDefault();

          option.element.prop('selected', 'selected');

          $select.change();

        }

      });

            $('.pnl_slet').change(function(){

                    var selected_text = $('.pnl_slet option:selected').text();

                    // to disable other items of same name in other boxes

                    if ($.inArray(selected_text, val) == -1) {

                      option.element.prop('selected', 'selected');

                      //$select.change();

                      val.push(selected_text);

                    }

                    $('.non-selected-wrapper .item').each(function() {

                      var $item_values = $(this).text();

                      if ($.inArray($item_values, val) !== -1) {

                        $(this).addClass('selected');

                      }

                    }); 

        

      })

      // Apply search filtering

      if (query && query != '' && option.label.toLowerCase().indexOf(query.toLowerCase()) === -1) {

        return;

      }


      $select.wrapper.non_selected.append($row);


    });


  }



  $.fn.multi = function(options) {


    var settings = $.extend({

      'enable_search': true,

      'search_placeholder': 'Search...',

    }, options);



    return this.each(function() {


      var $select = $(this);


      // Check if already initalized

      if ($select.data('multijs')) {

        return;

      }


      // Make sure multiple is enabled

      if (!$select.prop('multiple')) {

        return;

      }


      // Hide select

      $select.css('display', 'none');

      $select.data('multijs', true);


      // Start constructing selector

      var $wrapper = $('<div class="multi-wrapper">');


      // Add search bar

      if (settings.enable_search) {

        var $search = $('<input class="search-input" type="text" />').prop('placeholder', settings.search_placeholder);


        $search.on('input change keyup', function() {

          refresh_select($select);

        })


        $wrapper.append($search);

        $wrapper.search = $search;

      }


      // Add columns for selected and non-selected

      var $non_selected = $('<div class="non-selected-wrapper">');

      var $selected = $('<div class="selected-wrapper" id="selectedList">');


      $wrapper.append($non_selected);

      $wrapper.append($selected);


      $wrapper.non_selected = $non_selected;

      $wrapper.selected = $selected;


      $select.wrapper = $wrapper;


      // Add multi.js wrapper after select element

      $select.after($wrapper);


      // Initialize selector with values from select element

      refresh_select($select);


      // Refresh selector when select values change

      $select.change(function() {

        refresh_select($select);

      });


    });


  }


})(jQuery);


$(document).ready(function() {

  $('select').multi({

    search_placeholder: 'Search',

  });


  $('.alltabreset').click(function() {

    $('.selected-wrapper').empty();

    $('a').removeClass('selected');

    val = [];

  });

});


查看完整回答
反對(duì) 回復(fù) 2021-12-12
?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

由于所有框都有相同的選項(xiàng),因此像這樣維護(hù)單個(gè) json

[{name:"Allahabad Bank",id:1,selected:true},{name:"Andhra Bank",id:2,selected:false}]

并為所有三個(gè)框動(dòng)態(tài)渲染

希望這可以幫助


查看完整回答
反對(duì) 回復(fù) 2021-12-12
  • 2 回答
  • 0 關(guān)注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)