2014-09-11 6 views
5

मैं JQuery के साथ एक गतिशील HTML तालिका बना रहा हूं। नमूना कोड नीचे है।JQuery के साथ अक्षम HTML तालिका तत्व अक्षम करें <TR>

var tbody=$("#myTable tbody"); 

var tableRow; 

if(somevariableIsTrue) 
    tableRow=$("<tr>").attr("disabled",true); 
else 
    tableRow=$("<tr>"); 

var td=$("<td>"); 
    td.appendTo(tableRow); 

var tdn=#("<td>"); 
tdn.appendTo(tableRow); 

tableRow.appendTo(tbody); 

अब मैं अलग-अलग टीडी बनाता हूं और तालिका में जोड़ता हूं। यदि पंक्ति की अक्षम विशेषता सत्य है तो स्पष्ट रूप से उस पंक्ति के लिए सभी टीडी अक्षम भी होंगे। लेकिन मैं चाहता हूं कि अक्षम पंक्ति की मेरी पहली टीडी को इसके क्लिक पर चेकबॉक्स कॉलम के रूप में अक्षम नहीं किया जाना चाहिए, मैं उसी पंक्ति को सक्षम/अक्षम करना चाहता हूं। मैंने पहले कॉलम में चेकबॉक्स प्राप्त करने के विभिन्न तरीकों का प्रयास किया और इसे सक्षम करने का प्रयास किया लेकिन सभी विफल हो गए। कुछ भी मुझे बता सकते हैं कि कैसे JQuery

में यह करने के लिए

संपादित आशा इस स्क्रीन शॉट मेरी आवश्यकता को समझने के लिए enter image description here

के रूप में छवि पहली पंक्ति में देखा चेकबॉक्स के साथ पहली टीडी सहित अक्षम किया गया है में मदद करता है। मैं हर समय सक्षम होने के लिए चेकबॉक्स कॉलम चाहता हूं ताकि इसे जांचने पर पंक्ति सक्षम हो और अन जांच करने से पंक्ति को फिर से अक्षम कर दिया जाए।

+5

में काम कर 'tr' तत्व एक' disabled' विशेषता नहीं है । यदि आप उस 'tr' के भीतर इनपुट को अक्षम करना चाहते हैं, तो आपको अलग-अलग में विशेषता को जोड़ना होगा। –

+0

वैसे यह tr के साथ काम करता है और आवश्यकतानुसार उस tr के सभी अन्य तत्वों को अक्षम करता है। मैं तत्वों को अक्षम करने के लिए प्रत्येक टीडी को पुन: सक्रिय नहीं करना चाहता, इसलिए मैंने इस विधि को चुना। –

+0

आपको हल्के टेम्पलेटिंग इंजन पर भी विचार करना चाहिए। – Blowsie

उत्तर

0

तुम बस

$('input[type=checkbox]').removeAttr('disabled'); 

या

$('input[type=checkbox]').prop('disabled', false); 
अपने सभी चेक बॉक्स पर

कह सकते हैं। यह अनिवार्य रूप से अपने चेक बॉक्स के सभी को पुन: सक्षम हैं

2

यहाँ एक सरल उपाय है:

// first row checkboxes 
$('tr td:first-child input[type="checkbox"]').click(function() { 
    //enable/disable all except checkboxes, based on the row is checked or not 
    $(this).closest('tr').find(":input:not(:first)").attr('disabled', !this.checked); 
}); 

देखें कि यह इस JSFiddle

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