2010-11-11 5 views
0

Je souhaite sélectionner une option par texte. Voici ma fonction javascript. J'ai essayé deux façons mais pas de chance. L'aide est appréciée. Je vous remercie.Jquery: Comment sélectionner par programme une option dans un élément li

function preselect(selectedText) 
{ 
    //not ok 
    $('#item1 .partDesc').val(selectedText); 

    //not ok either 
    $('#item1 .partDesc option[value='+ selectedText +']').attr('selected', 'selected'); 
} 

<ul id="myUL"> 
    <li id="item1"> 
     <select class="partDesc"><option>Front</option><option>Rear</option></select> 
     <input type="text" class="itemDesc"> 
     <img src="images/myimg.jpg" class="itemImg" > 
    </li> 
    <li id="item2"> 
     <select class="partDesc"><option>Front</option><option>Rear</option></select> 
     <input type="text" class="itemDesc"> 
     <img src="images/myimg.jpg" class="itemImg" > 
    </li> 
</ul> 
+0

double possible de [jquery - réglage de la valeur sélectionnée d'un contrôle de sélection par son texte description] (http://stackoverflow.com/questions/496052/jquery-setting-the-selected-value-of-a-select-control-via-its-text-description) –

+0

Je comprends cela. – Dreteh

+0

C'est pourquoi j'ai essayé de faire $ ('# item1 option [text =' + selectedText + ']'). Attr ('sélectionné', 'sélectionné'); – Dreteh

Répondre

4

Qu'est-ce que vous cherchez est le :contains() selector.

var myOption = $('#item1 .partDesc option:contains(' + selectedText + ')'); 
0

J'espère que cette aide

$(document).ready(function(){ 
    $('.itemDesc').keyup(function(){ 
     var defaultSelection = "Front"; 
     var element = $(this).parents("li").find('.partDesc'); 
     element.val($(this).val()); 
     if(element.val()==null){ 
      element.val(defaultSelection); 
     }; 
    }); 
}); 
Questions connexes