2017-07-06 16 views
0

削除ボタンクリック時に価格を更新したい。追加ボタンをクリックすると、フィールドが追加され、価格が更新されます。しかし削除ボタンではフィールドを削除するだけで、価格は更新されません。削除時にjquery価格が更新されない

$(document).ready(function() { 
    $('#add').on('click', function() { 

    var maxfld=$('.acmp').length; 
    var pricedl=500; 

    if(maxfld<10) 
    { 
    $('#new_ac').append('<div id="" class="acmp">'+(++maxfld)+' <p>ACCOMPANYING PERSON DETAILS (No access to Scientific Halls)</p><input type="text" name="name" placeholder="Accompany Full Name" required /><input type="text" name="mob" placeholder="Accompany Mobile Number" required /><br />Gender<br /><input name="gender" type="radio" value="male" required="required" /> Male<input name="gender" type="radio" value="female" required="required" /> Female</div>'); 
    } 
    if(maxfld>9) 
    { 
     alert("Cannot add more accompany"); 

    } 
    var totalp=(pricedl*maxfld); 
     $('#amount').html(totalp); 

    }); 

    $('#del').on('click', function() { 
    $('.acmp:last-child').remove(); 
    var newp=totalp/maxfld; 
     $('.price').html(newp); 

    }); 
}); 
+0

の値を取得した後、要素を削除する必要があります。今度は、2番目のクリック関数の範囲外で、 'undefined'を返します。 – Ionut

答えて

0

削除ブロック

var maxfld=$('.acmp').length; 
var pricedl=500; 
var totalp=(pricedl*maxfld); 

に以下の変数が欠落していると、以下のコードは

$('#del').on('click', function() { 
    $('.acmp:last-child').remove(); 
    var maxfld=$('.acmp').length; 
    var pricedl=500; 
    var totalp=(pricedl*maxfld); 
    var newp=totalp/maxfld; 
    $('.price').html(newp); 
    }); 
+0

Vineeshに感謝あなたのコードは動作していますが、ほとんど変更はありません。タイマーは$( '#del')です。on( 'click'、function(){ $( '.acmp:last-child'); remove(); var maxfld = $( '.acmp')。 ; var pricedl = 500; var totalp =(pricedl * maxfld); var newp = totalp/maxfld; $( '価格').html(totalp); }); – dhdvsingh

+0

動作している場合は、回答としてマークしてください – Vineesh

0

あなたはあなたの変数(totalp,maxfld)がグローバルにTOT必要に動作しますように。今度は、2番目のクリック機能のスコープの外にあり、undefinedを返します。あなたのコードは次のようになります。

$(document).ready(function() { 
var maxfld = ''; 
var pricedl = ''; 
    $('#add').on('click', function() { 

    maxfld = $('.acmp').length; 
    pricedl = 500; 

    if (maxfld < 10) { 
     $('#new_ac').append('<div id="" class="acmp">' + (++maxfld) + ' <p>ACCOMPANYING PERSON DETAILS (No access to Scientific Halls)</p><input type="text" name="name" placeholder="Accompany Full Name" required /><input type="text" name="mob" placeholder="Accompany Mobile Number" required /><br />Gender<br /><input name="gender" type="radio" value="male" required="required" /> Male<input name="gender" type="radio" value="female" required="required" /> Female</div>'); 
    } 
    if (maxfld > 9) { 
     alert("Cannot add more accompany"); 

    } 
    var totalp = (pricedl * maxfld); 
    $('#amount').html(totalp); 

    }); 

    $('#del').on('click', function() { 
    $('.acmp:last-child').remove(); 
    var newp = totalp/maxfld; 
    $('.price').html(newp); 

    }); 
}); 
0

私によると、あなたはあなたがあなたの変数( `totalp、maxfld`)がグローバルにTOT必要maxfld

$('#del').on('click', function() { 
    var pricedl=500, 
     maxfld=$('.acmp').length, 
     totalp=(pricedl*maxfld); 
    $('.acmp:last-child').remove(); 
    var newp=totalp/maxfld; 
    $('.price').html(newp); 

    }); 
関連する問題