Jquery गतिशील div

मैं अपने रेल दृश्य में गति तत्व को गतिशील रूप से जोड़ने के लिए निम्न jQuery का उपयोग कर रहा हूं .. जोड़ें बटन काम करता है लेकिन निकालें बटन क्लिक करने योग्य नहीं है ..

$(document).ready(function() {
           $('#btnAdd').click(function() {
               var num     = $('.clonedInput').length;
               var newNum  = new Number(num + 1);

               var newElem = $('#input' + num).clone().attr('id', 'input' + newNum);

               newElem.children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum);
               $('#input' + num).after(newElem);
               $('#btnDel').attr('disabled','');

               if (newNum == 5)
                   $('#btnAdd').attr('disabled','disabled');
           });

           $('#btnDel').click(function() {
               var num = $('.clonedInput').length;

               $('#input' + num).remove();
               $('#btnAdd').attr('disabled','');

               if (num-1 == 1)
                   $('#btnDel').attr('disabled','disabled');
           });

           $('#btnDel').attr('disabled','disabled');
       });

फॉर्म कोड यहां दिया गया है:

<form id="myForm">
    <div id="input1" style="margin-bottom:4px;" class="clonedInput">
        Name: <input type="text" name="name1" id="name1" />
    </div>

    <div>
        <input type="button" id="btnAdd" value="add another name" />
        <input type="button" id="btnDel" value="remove name" />
    </div>
</form>

धन्यवाद!!!!!

1
जोड़ा संपादित
विचारों: 1

5 उत्तर

JQuery की लाइव विधि आज़माएं

$('#btnDel').live('click', function() {
               var num = $('.clonedInput').length;

               $('#input' + num).remove();
               $('#btnAdd').attr('disabled','');

               if (num-1 == 1)
                   $('#btnDel').attr('disabled','disabled');
           });

http://api.jquery.com/live/

1
जोड़ा
-1 क्योंकि। नई jQuery में बहिष्कृत में रहते हैं इसके बजाय .delegate या .on विधि का उपयोग करें।
जोड़ा लेखक Priyank Patel, स्रोत
आपका संलग्न लिंक देखें। यह अवमूल्यन श्रेणी में है।
जोड़ा लेखक Priyank Patel, स्रोत

try this fiddle http://jsfiddle.net/269HU/

use $("#id").attr('disabled',false);   --> for enable

तथा

use $("#id").attr('disabled',true);   --> for disable
1
जोड़ा

Answer is found and explained here... http://digitalmeaning.co/thoughts/using-jquery-to-duplicate-a-section-of-a-fयाm-maintaining-accessibility/

"JQuery के बाद के संस्करण के लिए, बटन कोड को या तो बदलें

$ ( '# BtnDelW1') attr ( 'विकलांग', true)।

या

$ ( '# BtnDelW1') attr ( 'अक्षम', गलत)।

0
जोड़ा

हटाने का प्रयास करें

.click(function() {

इसके साथ

.on('click',function() {
0
जोड़ा
धन्यवाद, लेकिन अभी भी काम नहीं कर रहा है ..
जोड़ा लेखक js111, स्रोत
आईडी के बजाय वर्ग का उपयोग करें। और क्लिक किए गए तत्व को इंगित करने के लिए $ (यह) फ़ंक्शन के अंदर उपयोग करें।
जोड़ा लेखक Priyank Patel, स्रोत

$('#btnDel').attr('disabled', ''); doesn't actually remove the disabled property - it just sets it to the empty string, and it's still active when blank! Use this instead:

           $('#btnDel').removeAttr('disabled');

jsFiddle: http://jsfiddle.net/LzdHg/

0
जोड़ा