2015-06-08 4 views
6

Ich habe eine benutzerdefinierte jQuery Multiselect, aber wenn ich ein Element auswählen, haben wir die Liste der Elemente auf dem HTML-Code select, aber es ist nicht mit dem selected Attribut aktualisiert.jQuery mobile Multiselect aktualisiert das ausgewählte Attribut nicht

Using the Multiple selects example of the page:

<div data-role="fieldcontain" class="ui-field-contain ui-body ui-br"> 
 
    <label for="select-choice-9" class="select ui-select"> 
 
    Choose shipping method(s): 
 
    </label> 
 
    <div class="ui-select"> 
 
    <a href="#" role="button" aria-haspopup="true" data-theme="c" class="ui-btn ui-btn-icon-right ui-btn-corner-all ui-shadow ui-btn-up-c"> 
 
     <span class="ui-btn-inner ui-btn-corner-all"> 
 
     <span class="ui-btn-text"> 
 
      Rush: 3 days, Express: next day 
 
     </span> 
 
     <span class="ui-icon ui-icon-arrow-d ui-icon-shadow"></span> 
 
     </span> 
 
     <span class="ui-li-count ui-btn-up-c ui-btn-corner-all" style=""> 
 
     2 
 
     </span> 
 
    </a> 
 

 
    <select name="select-choice-9" id="select-choice-9" multiple="multiple" data-native-menu="false" tabindex="-1"> 
 
     <option>Choose options</option> 
 
     <option value="standard">Standard: 7 day</option> 
 
     <option value="rush">Rush: 3 days</option> 
 
     <option value="express">Express: next day</option> 
 
     <option value="overnight">Overnight</option> 
 
    </select> 
 
    </div> 
 
</div>

Gibt es eine Möglichkeit, es fügen Sie das selected Attribut standardmäßig für die Herstellung?

+0

Sie können die ausgewählten Werte mit $ ('# select-choice-9') erhalten. Val(); . Warum brauchen Sie ein ausgewähltes Attribut? –

+0

Welchen Code verwenden Sie zum Abrufen der 'ausgewählten' Optionswerte aus dem' select'? –

+0

Ich benutze ASP.Net MVC und ich möchte das Format der DefaultModelBinder haben, akzeptiert es normalerweise das Muster: Sagen wir: der Name der Option sollte den Namen A [0] .B haben [1] .C [2] .D [3], wobei A, B, C und D Array-Objekte sind, ist auch etwas, was ich mit diesem Steuerelement erreichen möchte, und wenn ich die Werte auswählen könnte, die das Attribut ausgewählt haben, wäre a gute Idee. Aber wenn nicht, würde ich den Wert des Bereichs erhalten müssen, teilen Sie es und suchen Sie jedes Optionsattribut und aktualisieren Sie es, indem Sie ein Ereignis anhängen, nachdem Pop-up geschlossen ist. – Tito

Antwort

1

JQuery Mobile aktualisiert das Attribut selected standardmäßig nicht als Antwort auf die Benutzereingabe. Sie können die ausgewählten Werte mit den Attributen mit dem folgenden Code synchronisieren.

Denken Sie daran, dass dies für alle Auswahlmenü-Widgets funktioniert, die Sie bereits im DOM haben. Wenn Sie eines programmgesteuert hinzufügen, müssen Sie dem Widget auch den Ereignishandler hinzufügen.