2012-04-04 18 views
6

मैं jquery date/datetimepicker ऐड-ऑन, साथ ही JQgrid का उपयोग कर रहा हूं। मुझे दिनांक/डेटीमपिकर के लिए 'बटन' के लिए ऑनशो पसंद है, लेकिन जब मोडल के माध्यम से टैबबिंग करते हैं, तो डेट/डेटटाइम बटन को फोकस नहीं करना चाहिए।Jquery datepicker बटन tabindex

आईवी ने मेरे लिए डेटपिकर बनाने के लिए एक फ़ंक्शन लिखा है।

function CreateDatePicker(elem, ShowOn) { 
    setTimeout(function() { 
     $(elem).datepicker({ 
      dateFormat: 'yy/mm/dd', 
      autoSize: false, 
      showOn: ShowOn, 
      changeYear: true, 
      changeMonth: true, 
      showButtonPanel: true, 
      showWeek: true, 
      onClose: function (dateText, inst) { 
       $(this).focus(); 
      } 
     }); 
    }, 100); 

    $(elem).mask("9999/99/99", { placeholder: "_" }); 
} 

मैं इसे इस तरह कहते हैं।

initDateEdit = function (elem) { 
     CreateDatePicker(elem, 'button'); 
}; 

JQgrid कोड

{ name: 'Date', index: 'Date', editable: true, formoptions: { rowpos: 1, colpos: 2 }, formatter: 'date', formatoptions: { newformat: 'Y/m/d' }, datefmt: 'Y/m/d', editoptions: { dataInit: initDateEdit }, searchoptions: { dataInit: initDateSearch } }, 

मैंने देखा कि datepicker इस

<input type="text" id="Date" name="Date" role="textbox" class="FormElement ui-widget-content ui-corner-all hasDatepicker"> 
<button type="button" class="ui-datepicker-trigger">...</button> 

की तरह बना देता तो मेरी प्रारंभिक विचार करने के लिए jQuery के बटन वर्ग के लिए पर कुंडी और उपयोग करने के लिए था पृष्ठ पर अगले (इनपुट) तत्व पर जाएं, भले ही यह क्या हो।

मैं सब पर बातें की एक जोड़ी की कोशिश की है, सभी उपज या तो गलत है/कोई परिणाम नहीं ...

मेरे पिछले असफल प्रयास ...

$(document).delegate('.ui-datepicker-trigger', 'focus', function (event) { 
     $(this).next().focus(); 
    }); 

किसी भी मदद की सराहना की होगी .. बहुत :)

उत्तर

3

समस्या को हल करने का सबसे सीधा तरीका tabindex स्थापित करने के लिए मुझे लगता है के लिए "-1": the demo की खोज उपकरण पट्टी में टैब का उपयोग करें और another demo के लिए बनाया के साथ परिणामों की तुलना करने

setTimeout(function() { 
    $(elem).datepicker({ 
     showOn: 'button', 
     ... 
    }).next('button.ui-datepicker-trigger') 
     .attr("tabIndex", "-1"); 

कोशिश the answer

+1

आह! मैंने पहले टैबिन्डेक्स -1 चीज की कोशिश की, लेकिन मुझे पता नहीं था कि इसे jquery के माध्यम से बटन में कैसे जोड़ना है। उत्तर के लिए धन्यवाद। –

+0

@Yenros: आपका स्वागत है! – Oleg

+0

कि लिंक टूटा हुआ है। यह भी, टैबिन्डेक्स सेटिंग सैमसंग गैलेक्सी एस 4 पर काम नहीं कर रहा है। –

1

तो मेरा प्रारंभिक विचार बटन वर्ग पर लेटना था और पेज पर अगले इनपुट तत्व पर जाने के लिए jQuery का उपयोग करना था, चाहे वह क्या हो।

+3

मैं झूठ नहीं बोलता, आपका ज्ञान मुझे भ्रमित करता है ..:/ –