2016-08-21 4 views
0

Ich habe ein MVC-Projekt, wo ich zwei jQuery auswählbaren Plugin wie unten implementiert haben: Der <HTML> Code,Warum jQuery auswählbar funktioniert nicht richtig?

<div class="product-page-options"> 
           <div class="pull-left"> 
            <label class="control-label" style="font-weight:bolder">Size:</label> 
            <ol class="ui-selectable" style="width:auto" id="selectable"> 
             @{ 
              var size = Model.AvailableSizes.Split(','); 
              foreach (var item in size) 
              { 
               <li class="ui-selectable">@item</li> 
              } 
             } 
            </ol> 
           </div> 
           <div class="pull-left"> 
            <label class="control-label">Color:</label> 
            <ol class="ui-selectable" style="width:auto" id="selectable1"> 

             @{ 
              var color = Model.AvailableColors.Split(','); 
              foreach (var clr in color) 
              { 
               <li class="ui-selectable">@clr</li> 
              } 
             } 
            </ol> 
           </div> 
          </div> 

Die statische Skript für auswählbare jQuery-Plugin.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#selectable").selectable({ 
      selected: function (event, ui) { 
       $(ui.selected).siblings().removeClass("ui-selected"); 
       $("#selectedsize").val($("li.ui-selected").html()); 
      } 
     }); 
    }); 
</script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#selectable1").selectable({ 
      selected: function (event, ci) { 
       $(ci.selected).siblings().removeClass("ui-selected"); 
       $("#selectedsize").val($("li.ui-selected").html()); 
      } 
     }); 
    }); 
</script> 

Das erste auswählbare jQuery-Plugin funktioniert einwandfrei, während das zweite nicht richtig funktioniert. Ich meine, ich kann keinen Artikel aus der zweiten selectable Liste auswählen und auch das Aussehen ist nicht dasselbe wie das erste. Das Bild unten zeigt deutlich das Problem. Selectable Details Image

Alles, was ich dagegen tun kann? jede Hilfe würde geschätzt werden. Danke im Voraus.

+1

warum zwei 'script' und' bereit 'Funktionen? Sie können so schreiben: '$ (" # wählbar, # wählbar1 "). wählbar ({...})' – Riad

+0

Sie setzen $ ("# selectedsize") im Farbwähler. Dies könnte dein Fehler sein. –

+0

@Riad Ich versuchte den vorgeschlagenen Weg, aber kein besseres Ergebnis ist alles wieder das gleiche. – Dawar

Antwort

1

Hier gibt es 2 Probleme. Zunächst müssen Sie Stile speziell für die beiden auswählbaren Elemente einrichten (wenn Sie Ihren Code auf den Beispielen auf der jQuery UI-Site basieren). Zweitens müssen Sie nach Auswahl in der Auswahl für die Elemente den Pfad angeben . auf das li-Element als Kind der relevanten wählbar ausgewählt

$("#selectedcolor").val($("#selectable1>li.ui-selected").html());

die folgenden Plunker Sie zeigen, es funktioniert:

Link To My Plunker

+0

Danke wird das versuchen! – Dawar