2010-12-14 24 views
1

i eine Form haben, dieWie Option in der Auswahlliste auswählen jquery mit

<select name="adddisplaypage[]" id="adddisplaypage" multiple="multiple"> 
    <option value="all" label="all">all</option> 
    <option value="index" label="index">index</option> 
    <option value="tour" label="tour">tour</option> 
    <option value="aboutus" label="about us">about us</option> 
    <option value="contactus" label="contact us">contact us</option> 
    <option value="destination" label="destination">destination</option> 
    <option value="reservation" label="reservation">reservation</option> 
</select> 

select-Element hat, kann mir jemand helfen, diese Option (mehrere auswählen) auf Klick auswählen dh die Option ausgewählt wird, wenn geklickt haben, und abgewählt, wenn bei Klick ausgewählt.

$("#adddisplaypage").val("index"); 

Das sollte wählen Sie "Index", zum Beispiel:

+0

Ist das nicht das genaue Verhalten eines normalen Browsers? – jensgram

+0

ich weiß es nicht !! Ich muss auf Ctr klicken + klicken, um mehrere Optionen auszuwählen –

+0

Verwenden Sie Toggle beim Klicken auf Optionen – Vivek

Antwort

2

Ich erkannte, dass ich Ihre Frage missverstanden haben kann. So etwas wie das Folgende sollte funktionieren, obwohl ich bin mir nicht sicher über Browser-Unterstützung:

$('#adddisplaypage option').click(function(e) { 
    e.preventDefault(); 
    var self = $(this); 

    if(self.attr('selected') == '') { 
    self.attr('selected', 'selected'); 
    } else { 
    self.attr('selected', ''); 
    } 
}); 
+0

Ihre Idee funktioniert, aber der Code funktioniert nicht +1 für die Idee. Ich werde nicht das Attribut "ausgewählt" von Ihrem Code ändern, ich habe mein eigenes versucht, aber immer noch nicht funktioniert. –

+0

P.S was ich getan habe, war das ausgewählte Attribut manuell von Firebug gesetzt –

2

In Ihrem click() Handler, könnten Sie so etwas wie schreiben.

+0

es wählt nur einen Index aus. Ich möchte mehrere Index ausgewählt werden. –

+0

Ich denke @ Brians Antwort unten ist, was Sie brauchen könnten! – slhck

1

Sie können ein Array an die Methode .val() übergeben. Zum Beispiel:

$('#adddisplaypage').val(['index', 'tour']); 
Verwandte Themen