2011-10-22 21 views
20

मैं एक तारीख इनपुटjQuery अनेक आईडी एक ही समारोह

<td style="background-color:#c6efce"><input type="text" id="datepicker0"></td> 
<td style="background-color:#c6efce"><input type="text" id="datepicker1"></td> 
<td style="background-color:#c6efce"><input type="text" id="datepicker2"></td> 
<td style="background-color:#c6efce"><input type="text" id="datepicker3"></td> 
<td style="background-color:#c6efce"><input type="text" id="datepicker4"></td> 

है कि एक मेज मैं पहली बार एक

<script> 
    $(function() { 
     $("#datepicker0").datepicker({ 
      showButtonPanel: true 
     }); 
    }); 
    </script> 

मैं सब कुछ कैसे पहुँच सकता हूँ के लिए के माध्यम से इसे उपयोग करने में कोशिश कर रहा हूँ है?

उत्तर

50

आप "attribute starts-with" का भी उपयोग कर सकता है:

$(function() { 
    $("input[id^='datepicker']").datepicker({ 
     showButtonPanel: true 
    }); 
}); 

कि चयनकर्ता किसी भी input तत्व जिसका id मूल्य "datepicker" के साथ शुरू होता भरपाई कर देंगे। एक विकल्प सभी आवश्यक तत्वों को एक सामान्य वर्ग देना होगा।

तुम भी एक अल्पविराम द्वारा पृथक सूची का उपयोग कर id द्वारा एक से अधिक तत्वों का चयन कर सकते हैं:

$("#datepicker0, #datepicker1, #datepicker2"); //List as many as necessary 

लेकिन वह विशेष रूप से स्केलेबल अगर आप कभी भी और अधिक आदानों जोड़ने की जरूरत नहीं है।

10

सबसे अच्छा तरीका है एक वर्ग का उपयोग करने के लिए है:

<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker0"></td> 
<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker1"></td> 
<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker2"></td> 
<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker3"></td> 
<td style="background-color:#c6efce"><input type="text" class="dp" id="datepicker4"></td> 
<script> 
    $(function() { 
     $(".dp").each(function(){ 
      $(this).datepicker({ 
       showButtonPanel: true 
      }); 
     }) 
    }); 
</script> 

लेकिन आप यह भी इस का उपयोग कर सकते हैं:

<td style="background-color:#c6efce"><input type="text" id="datepicker0"></td> 
<td style="background-color:#c6efce"><input type="text" id="datepicker1"></td> 
<td style="background-color:#c6efce"><input type="text" id="datepicker2"></td> 
<td style="background-color:#c6efce"><input type="text" id="datepicker3"></td> 
<td style="background-color:#c6efce"><input type="text" id="datepicker4"></td> 

<script> 
    $(function() { 
     $("#datepicker0,#datepicker1,#datepicker2,#datepicker3,#datepicker4").datepicker({ 
      showButtonPanel: true 
     }); 
    }); 
</script> 

दूसरा दृष्टिकोण की सलाह नहीं दी है।

+1

क्यों आप एक प्रत्येक कार्य पहले उदाहरण में, बजाय एक दूसरे की तरह नोड सूची पर datepicker बुलाने की का इस्तेमाल कैसे किया जा सकता है? – mikerobi

+0

@mikerobi lol good point XD शायद आप इस तरह का उत्तर सबमिट कर सकते हैं? –

+0

धन्यवाद @JosephMarikle – sradha

0

आईडी के बजाय, आपको has-datepicker जैसे कुछ सीएसएस वर्ग का उपयोग करना चाहिए और इसके लिए खोज करना चाहिए।

4

जैसा कि मैं आपका प्रश्न समझता हूं, आप jQuery का उपयोग करके एकाधिक आईडी चुनने का प्रयास कर रहे हैं। यहां बताया गया है कि आप यह कैसे करते हैं:

$('#1,#2,#3') 

आप बस अल्पविरामों द्वारा आईडी को अलग करते हैं।

लेकिन, यह इसे पूरा करने का सबसे अच्छा तरीका नहीं है। आप वास्तव में एक वर्ग का उपयोग करना चाहिए: निरुपित प्रत्येक td एक वर्ग और उपयोग:

$('td.myClass') 

वैकल्पिक रूप से, आप तालिका को एक ID निर्दिष्ट और उसके td बच्चों का चयन कर सकते हैं। HTML:

<table id="myTable"> 
    <td>text</td> 
    <td>text</td> 
</table> 

jQuery:

$('table#myTable td') 
0

jQuery यूआई स्वचालित रूप से सभी तत्वों को एक दिनांक पिकर है कि करने के लिए "hasDatePicker" वर्ग कहते हैं। आप सभी दिनांक पिकर्स प्राप्त करने के लिए $ ("input.hasDatePicker") जैसे कुछ के लिए पृष्ठ से पूछ सकते हैं।

+0

तत्व पर 'डेटपिकर' लागू नहीं किया गया है (जैसा कि इस मामले में ...) –

+0

आह, मैंने मूल प्रश्न गलत पढ़ा, सोचा कि मूल प्रश्न उन तक पहुंचने के बारे में पूछा गया है, उन्हें नहीं बना रहा है, लेकिन मुझे लगता है कि ओपी ने एक कोड स्निपेट प्रदान किया था जहां उसने दिखाया कि वह एक बना रहा था ... – ima007

0

आप इस रूप में अच्छी तरह $('#datepicker0,#datepicker1,#datepicker2,#datepicker3,#datepicker4)

संबंधित मुद्दे