2014-03-05 174 views
1

我創建了一個簡單的選擇菜單選擇菜單顯示不

<select class="element"> 
    <option value="3">Read Only</option> 
    <option value="1">Editable</option> 
    <option value="2">Hidden</option> 
</select> 

然而,當我點擊選擇菜單上的選項,沒有任何反應。 我附加了一個jQuery onclick監聽器來確定點擊是否正在註冊,並且是。但是,這些選項未顯示。

是否有任何特殊原因導致選項列表不顯示?根據要求

CSS規則:

select { 
    height: 25px; 
    background: #FFFFFF; 
} 

$('.element').on('click', function(){ 
    console.log('clicked'); 
}); 
+0

你有元素類編寫的任何CSS規則,選擇元素,或選項元素?頁面上的CSS可能會影響選擇列表的行爲。此外,您添加的jQuery代碼可能會影響其行爲。你能否將這個信息添加到你的問題描述中。 – BrightIntelDusk

+0

不,唯一的CSS規則支配着色。我已將它添加到描述中。 –

+0

你可以添加你正在使用的jQuery嗎? – BrightIntelDusk

回答

0

檢查這個代碼:

### Listbox 
    http://jsfiddle.net/4jkE8/2/ 

試試這個對你的CSS:

select { 
    height: 25px; 
    background: #FFFFFF; 
} 
$.noConflict(); 
$('.element').on('click', function(){ 
    console.log('clicked'); 
}); 

而且我認爲你有一個JavaScript或jQuery的有衝突的文件,請嘗試在您的視圖中創建此文件:

<select class="element"> 
    <option value="3">Read Only</option> 
    <option value="1">Editable</option> 
    <option value="2">Hidden</option> 
</select> 
<script type="text/javascript">$.noConflict();</script> 
+0

你沒有改變任何東西...... –

+0

這就是我也在想他可能在代碼中有衝突。 – BrightIntelDusk

+0

確定試試這段代碼$ .noConflict(); –

0

將您的班級名稱更改爲不同的名稱。然後,而不是使用它作爲類將其更改爲一個ID。然後在你的jQuery中檢測on change事件。通常,當有選擇選項時,你只需要其中的一個。 id屬性用於頁面上只有一個元素的情況。

我很確定點擊事件不適用於選擇列表上的所有瀏覽器。你可能想看看這個問題:Click event on select option element in chrome

HTML代碼:

<select id="status"> 
    <option value="3">Read Only</option> 
    <option value="1">Editable</option> 
    <option value="2">Hidden</option> 
</select> 
<select id="status"> 
    <option value="3">Read Only</option> 
    <option value="1">Editable</option> 
    <option value="2">Hidden</option> 
</select> 

JavaScript代碼:

$('#status').on('change', function(){ 
    console.log('changed'); 
}); 
+0

我有兩個選擇菜單,因此需要class屬性。我正在檢測onclick事件。 onclick事件註冊正常。沒有衝突。當我點擊它時,選擇下拉菜單並不顯示選項。這些選項是明確定義的,通過必要的HTML驗證測試以確保我不會錯過報價等。 –

+0

另一種選擇是創建一個新項目並檢查你的代碼,我確定100%你有一個JavaScript或者jquery是衝突的,因爲我在一些項目中有同樣的錯誤,但是你的項目只是一個意見。 –