2010-11-03 86 views
2

我有一個選擇,我需要一個選項被選擇,每次到必須解僱一些JS,即使它已經被選中。 例子:選擇相同選項多次/平變化不改變

<select id="select_one"> 
    <option value="">Choose One...</option 
    <option value="one">One</option> 
    <option value="two">Two</option> 
</select> 

如果有人選擇 「一」 我想火functionOne()。但是,當選擇「one」時,如果用戶再次選擇「one」,我想再次觸發functionOne()。所以,這意味着onChange將不起作用,因爲選擇不會改變。

任何人有什麼想法?

+1

你是什麼意思「重新選擇一個」是什麼意思?如果你的意思是點擊/選中選項,那麼下面的答案就是你需要的(鉤住onclick事件),否則解釋你的意思。 – 2010-11-03 22:45:42

回答

0

添加的onClick到<option>標籤

0

燒成後ONSELECT,改變選擇的值改爲「添加另一個」? 例如。 forst選項的ID爲#selectBox,值爲'',html爲「Select One」。 onChange,檢索值$('#selectBox').val();並在您的操作完成後轉身並轉入$('#selectBox').val('').html('Select Another');

0

即使對每個選項標籤也添加一個onclick。在函數內部做:

function() { 
    var timesClicked = $(this).attr('times-clicked') || 0; 
    $(this).attr('times-clicked', ++timesClicked); 
    if (timesClicked == 1) { 
    functionONe(); 
    } 
    else if (timesClicked == 2) { 
    functionTwo(); // and so on 
    } 
} 
4

相反,一些當前的答案,你實際上並不在IE <option>得到click事件。

檢測已被選中的選項的情況的唯一可靠方法是將onclick處理程序置於<select>上。當然,這也將檢測到選擇的元素上的任何其他的點擊,所以這取決於functionOne()是這樣做的可能不是安全的要麼。

你可能會用的東西,看起來像一個選擇,但不是,如彈出DIV,上面有按鈕更好。你在做什麼?如果你試圖做一個「跳躍菜單」,其中,選擇一個選項,導航到一個新的頁面:,這是一個古老而名譽掃地機制有嚴重的可用性問題。