2011-03-01 14 views
5
<select class="input" style="width:200px"> 
     <option>---</option> 
     <option onclick="window.location="link.php">one</option> 
     <option onclick="window.location="link2.php"">two</option> 
    </select> 

Kromda çalışmıyor, Opera/mozillada vb. Herhangi bir tavsiye?Onclick, Chrome'da çalışmıyor

+2

Evet, 'onclick' özniteliğini kullanmayın. – BoltClock

+7

Birisi her zaman bir seçenek olarak kullanırsa, bir UI tasarımcısı kalp krizi geçirir. Optgroup kullanın lütfen. –

+2

@WTP 'optgroup' boş bir varsayılan seçeneğim olmasına nasıl yardımcı olur? – Tomalak

cevap

19
<select class="input" onchange="window.location.href = this.value" style="width:200px"> 
     <option>---</option> 
     <option value="link.php">one</option> 
     <option value="link2.php">two</option> 
    </select> 

Aynısını TAMAM DEĞİLDİR biliyorum ... ama seçme listesinin seçeneği üzerinde bir tıklama olayı olması iyi bir uygulama değildir. Değişim yerine, onclick de olabilir ... ama benim görüşüme göre onchange gerçekten bunu yapmanın yolu.

3

Onclick özniteliklerinin içindeki çift tırnak işaretleri tek tırnaklar değil midir?

+0

Geçerli kod neden Gecko ve Presto'da çalışır? –

+0

@Radek S: Düşünebildiğim bir şey, ayrıştırıcı azgınlıktır (okuma: smartassery). – BoltClock

+0

@BoltClock Gecko'nun WebKit'ten daha akıllı olduğuna inanamıyorum. Oh, belki öyle. :) –

4

Muhtemelen en güvenli yaklaşım, seçilen öğenin onchange olayını kullanmak ve gerçekleştirilecek eylemi belirlemek için değerini kullanmaktır. Onclick'in IE seçeneğinde de çalışmasını düşünmüyorum.

0

Onclick, çalışmaya çalıştığınız şekilde çalışmayacak ve tarayıcıların select nesnesinin nasıl ele alınacağıyla ilgili farkları hesaba katmanız gerekecek. select nesnesinde onchange olayı kullanmanızı ve sonra seçilen seçeneği sınamanızı öneririm. Bu etkinliklerin farklı tarayıcılarda farklı şekilde tetiklendiğini unutmayın.