2013-02-20 106 views
1

我正在使用'fnagel jQuery UI Selectmenu Widget',您可以找到here。 我想讓小部件不選新選項時更改事件是基於某些條件被解僱的。使jQuery UI Selectmenu「不改變」'change'事件的值

通常這是由變化事件'return false;'完成的。但它不工作。我在這裏創建了一個fiddle

有人可以幫我做小提琴的工作沒有選擇變化事件的價值嗎?

謝謝!

+0

有一拉請求的[增強記錄本(https://github.com/fnagel/jquery-ui/pull/130) - 這還沒有得到落實。 – mccannf 2013-02-20 20:55:28

+0

所以我不能得到這個固定,直到他們實現它? – Shaunak 2013-02-20 21:48:04

+0

'return false'在修正之前不會起作用。 @VikDavid在下面有一個解決方法。 – mccannf 2013-02-20 22:27:20

回答

3

您可以手動保存並恢復值jsfiddle here

  1. 數據屬性添加到您的選擇元素:

    ...數據分組選擇= 「1」 ......

  2. 使用此代碼更改事件:

    var someCondition = true; // hardcoded for now 
    
    // Undo new selection 
    if (someCondition) { 
        var prevIdx = $('select#speedA').attr('data-prev-selected'); 
        $('select#speedA').selectmenu("index", prevIdx); 
        return; 
    } 
    
    // Save new index 
    var idx = $('select#speedA').selectmenu("index"); 
    $('select#speedA').data('data-prev-selected', idx);