Ich lerne jquery.

<select multiple id="update-select" data-type="test1, test2">
        <option value="3">test1</option>
        <option value="4">test2</option>
        <option value="5">test3 test</option>
        <option value="5">test test</option>
</select>

<input type="button" id ="btn" value ="click me">


$(document).ready(function() {
   $("#btn").click(function(){

   });   
});

jsfiddle hier

Ich setze den Datentypwert dynamisch basierend auf einigen Serverdaten. Klicken Sie auf die Schaltfläche, deren Wert dem Datentypwert entspricht

Hier sind die Datentypwerte test1 und test2, daher muss die Option test1 und test2 beim Klicken auf die Schaltfläche ausgewählt werden

Hinweis: Datentypwerte können zwei Wortwerte enthalten, z. B. Testtest. Optionstext kann auch Testtest enthalten

0
monda 23 Nov. 2013 im 22:02

3 Antworten

Beste Antwort
$(document).ready(function() {
   $("#btn").on('click', function(){
       $('#update-select option').prop('selected', false);
       $.each($('#update-select').data('type').split(','), function(i, opt) {
           $('#update-select option:contains('+ $.trim(opt) +')').prop('selected', true);
       });
   });   
});

GEIGE

5
adeneo 23 Nov. 2013 im 18:05

Das können Sie machen:

$(document).ready(function() {
    $("#btn").click(function(){
         $('#update-select option').prop('selected', false);
        var select = $("#update-select").attr('data-type').split(',');
        for(var i=0; i<select.length; i++){
           $('#update-select option:contains('+ $.trim(select[i]) +')').prop('selected', true);   
        }
    });   
});

Überprüfen Sie http://jsfiddle.net/alaminopu/V85Vx/23/

1
Md. Al-Amin 23 Nov. 2013 im 18:18

Verwenden Sie die Funktion .filter (), um Ihre option Ziel-Tags abzurufen und anschließend auszuwählen.

$(document).ready(function() {
   $("#btn").click(function(){  

       var xText =$('#update-select').data('type');

       $('#update-select option').filter(function(){
           return xText.indexOf($(this).text()) != -1;   
       }).prop('selected', true);

   });   
});

DEMO

1
Rajaprabhu Aravindasamy 23 Nov. 2013 im 18:19