2012-11-16 37 views
2

我試圖用什麼放在JQuery的選擇框,環幫助的問題,但似乎我的實現是有點不同,我似乎無法使它工作。JQuery的選擇框圈與條件

我有一個fromSelectBox和我試圖在走動選項toSelectBox。有兩個條件,我想安裝。如果選項A放置在toSelectBox一側,它應該始終位於底部。如果選項B已經在toSelectBox端,則不應允許移動。

我能夠做到這一點,所以我不能從列表底部移動選項A或B,並且我不能移動A或B以下的任何東西,但是當我一次移動一組項目時,順序可以是不安。

基本上就是我想要做的是一個項目從fromSelectBox移動任何時候,對予以選取框,它應該通過循環,並在必要的手段。

這是我到目前爲止。

function resortOnMove() { 
    $('select').each(function(){ 
     $('option', this).each(function(){ 
     if ($('#toSelectBox option:selected').val() == '03' || $('#toSelectBox option:selected').val() == '01') { 
      alert("moving now"); 
      if ($('#toSelectBox option:selected').index() < $('#toSelectBox option:last').index()) { 
       $('#toSelectBox option:selected').insertAfter($('#toSelectBox option:last')); 
      } 
     } 
     }) 
    }); 

回答

0

我決定,而不是做一個重新排序,這將是更好的增加倍數時值在最後追加。

$('#moveright').click(function() { 
    var tempObjects = null; 
    $('#fromSelectBox option:selected').each(function() { 
     if (($('#toSelectBox option:last').val() == "03" || $('#toSelectBox option:last').val() == "01") && ($('#fromSelectBox option:selected').val() == "03" || $('#fromSelectBox option:selected').val() == "01")) { 
      alert($('#toSelectBox option:last').text() + " and " + $('#fromSelectBox option:selected').text() + " cannot both be in Prioritized Categories."); 
      return false 
     } 
     else if ($('#toSelectBox option:last').val() == "03" || $('#toSelectBox option:last').val() == "01") { 
       var movingObjects = $(this); 
       movingObjects.remove(); 
       movingObjects.insertBefore($('#toSelectBox option:last')); 
     } 
     else { 
      $('#fromSelectBox option:selected').each(function() { 
       if ($(this).val() === "01" || $(this).val() === "03") { 
        if (tempObjects!=null){ 
         alert(tempObjects.text()+ " and " + $(this).text() + " cannot both be in Prioritized Categories."); 
         return false 
        } 
        tempObjects = $(this); 
        $(this).remove(); 
       } 
       $(this).remove().appendTo('#toSelectBox'); 
      }); 
      if (tempObjects != null) { 
       tempObjects.appendTo('#toSelectBox'); 
      } 
     } 
    }); 
});