2012-01-05 50 views
2

我希望我的jQuery datepicker(jQuery UI 1.8.13)僅在單擊「完成」按鈕時生成報告。無法根據其類選擇按鈕

enter image description here

onClose事件的原因是觸發還當我點擊別的地方(而不是在日期選擇器),我需要的是按「完成」按鈕時,只生成報告並不好。因此我需要爲'完成'按鈕添加一個onclick回調。不過,我找不到一個與「完成」按鈕匹配的jQuery選擇器。我已經嘗試了$('.ui-corner-all'),但也會發現其他元素。 所以,我已經試過$('.ui-priority-primary')(因爲據我所知這是具有這種風格的唯一元素),但它不匹配的按鈕...

  1. 我需要一個選擇,將只匹配「完成」按鈕。
  2. 爲什麼$('.ui-priority-primary')無法正常工作?

請找到示例代碼here

UPDATE我使用這個datepicker作爲monthpicker,所以我沒有日期點擊。因此,如上所述,我需要將回調放在'完成'按鈕上,這一點很重要。

+0

我使用的是Chrome和作爲是它沒有爲我工作。如果你點擊任何它給出警報。 – Rondel 2012-01-05 16:43:37

+0

您是否嘗試過我提供的解決方案?這是完成這項工作的最佳方式。 – mrtsherman 2012-01-06 02:35:42

+0

@ mrtsherman:是的,我已經嘗試過,它的工作原理。感謝解決方案和解釋。 – Atticus 2012-01-06 07:21:57

回答

3

至於它不工作,這是因爲你的綁定發生之後創建控件。如果你使用委託,那麼它將工作。雖然我認爲Darin的答案可能是更好的解決方案,但我直接回答了問題的「原因」,因此我提供了這個答案。

http://jsfiddle.net/7ThB8/30/

$('body').delegate('.ui-priority-primary', 'click', function() { 
    alert('done was clicked'); 
}); 
4

如何使用onSelect事件當選擇日期時被觸發:

$('.date').datepicker({ 
    onSelect: function(dateText, inst) { 
     ... 
    } 
}); 
+0

onSelect在我的情況下不是一個好的解決方案,因爲我需要點擊'完成'按鈕時觸發的動作。其實我用monthpicker沒有顯示的日期。 – Atticus 2012-01-05 16:58:24