2017-09-27 4 views
-1

Ich habe eine Auswahloption mit oop, die ich nicht vertraut bin. Ich möchte die letzte Option ändern, werde erste Option. die eigentliche Codierung ist wie folgt:Ändern auswählen letzte Option werden erste Option in Javascript

<select class="terms" id="terms{VAL_ID}"> 
     <option class="term">Term</option> 
    </select> 

es wie folgt angezeigt wird:

<select class="terms" id="128035"> 
    <option class="term" id="1">ans1</option> 
    <option class="term" id="2">ans2</option> 
    <option class="term" id="-1">-- Please Select --</option> 
</select> 

mein Problem ist, ich letzte Wahl machen wollen erste Wahl zu werden, mit Hilfe von Javascript sie verwendet. Unterhalb des Skripts. Wenn jemand mir helfen kann, das Skript zu ändern, um die letzte Option als erste Option zu machen. Dank

<script> 
    function renderILQuestion{VAL_ID}() 
    { 
     jQuery('div#qtitle{VAL_ID}').html(questions[{VAL_ID}].question); 

     var terms_dir = { 
      'option': { 
       'term <- terms': { 
        '.': 'term.term', 
        '@id':'term.id'} 
      }}; 


     jQuery('#terms{VAL_ID}').render(questions[{VAL_ID}].pairs[0], terms_dir); 

     var pairs_dir = { 
      'tbody tr': { 
       'pair <- pairs': { 
        'th.definition': 'pair.definition', 
        '[email protected]':'pair.def_id'} 
      }}; 
     jQuery('#container{VAL_ID}').render(questions[{VAL_ID}], pairs_dir); 
    } 

    renderILQuestion{VAL_ID}(); 

    var obj = document.getElementsByClassName("terms"); 

</script> 
+0

'Funktion renderILQuestion {VAL_ID}()' das ist sicherlich kein * gültig * Name ... – Rafael

+0

können Sie den Code hier überprüfen: http://phpcrossref.com/xref/ilias/Modules/Scorm2004 /templates/default/tpl.question_export.html.html – airi

+0

sollten Sie angegeben haben, dass dieser Code durch ein Templating-System interpoliert wurde. Sie müssen Ihre Frage erneut taggen und mehr Code in die Frage einfügen. – Rafael

Antwort

1

hilft ich Sie einladen zu überprüfen, die selectors documentation, & durch die Art und Weise hier ist ein Arbeitscode:

$(".terms").each(function(){ 
 
$(this).find("option:last").prop("selected",true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select class="terms" id="128035"> 
 
    <option class="term" id="11">ans1</option> 
 
    <option class="term" id="21">ans2</option> 
 
    <option class="term" id="-11">-- Please Select --</option> 
 
</select> 
 

 
<select class="terms" id="ABCD"> 
 
    <option class="term" id="12">ans1</option> 
 
    <option class="term" id="22">ans2</option> 
 
    <option class="term" id="-12">-- Please Select --</option> 
 
</select> 
 

 

 
<select class="terms" id="ABCDE"> 
 
    <option class="term" id="13">ans1</option> 
 
    <option class="term" id="23">ans2</option> 
 
    <option class="term" id="-13">-- Please Select --</option> 
 
</select> 
 

 

 
<select class="terms" id="ABCDEF"> 
 
    <option class="term" id="14">ans1</option> 
 
    <option class="term" id="24">ans2</option> 
 
    <option class="term" id="-14">-- Please Select --</option> 
 
</select>

+0

Ich weiß, dass das funktioniert, nur um zu fragen .. was ist, wenn ich zwei mit derselben Klasse Begriffe verschiedene ID auf einer Seite wählen ... funktioniert das? – airi

+0

@airi Ich habe meine Antwort bearbeitet und es funktioniert perfekt –

+0

Vielen Dank .. es funktioniert so, wie ich es erwartet habe. Danke – airi

1

Ich habe keine Ahnung von oop, aber ich denke, Sie diese Option Position ändern können, nachdem der Auswahl ist für ...

$('select.terms option').last().prependTo('select.terms'); 
$('select.terms')[0].selectedIndex = 0; 

Ich hoffe, es