1

現在、1 つのボタンをクリックして一連のフィールドを追加し、1 つのボタンをクリックして出席者を追加するフォームのすべてを削除する機能があります。

クリックが呼び出されると同時に出席者の数が増える白いブロックに 3 行を追加するのが難しく、入力するフィールドのセットが追加されます。

後にコールバックを作成しようとしました

 next.slideDown('slow'); to next.slideDown('slow', function(){ ... });

しかし、成功しませんでした。

これらをワンクリックでイベントに結合するにはどうすればよいですか?

http://jsfiddle.net/h76KR/1/

$(document).ready(function () {
    $('#div2, #div3, #div4').hide();
    $('#add').click(function () {
        var curr = $(".question:visible");
        var next = curr.next(".question");
        next.slideDown('slow');

var theTotal = 0;

theTotal = Number(theTotal) + Number($(this).val());

$('.noOfAttendees').text(あなたの会社からの出席者の総数: "+theTotal");

    });
    $('#remove').click(function () {
        var prev = $(".question:visible");
        var remove = prev.next(".question");
        remove.slideUp();
    });
});
4

2 に答える 2

1

まさにあなたが要求するものは次のようなものです: http://jsfiddle.net/h76KR/3/

とともに

var numEmployees = 1;

必要に応じて増減するだけで、

function updateEmployees(){
     $(".noOfAttendees").html("There are "+numEmployees+" Attendees");   
}

ボックスを更新します。


ちなみに、複製した従業員情報を含む空の非表示の div を保持する方がおそらくはるかに良いでしょう。このようなクローンを 4 つではなく無限に作成できます。あなたの例を挙げて、これをやってみてください:

var employeeDiv = $("#div1").clone();
$("#div1").append(employeeDiv);

そしてそこから作業。

于 2013-06-14T13:51:40.513 に答える
0

わかりましたので、それを関数に組み合わせる必要がないことがわかりました。次のように機能し、削除ボタンをクリックすると1にリセットされます。これを行うためのより効率的な方法を誰かが知っている場合は、私に知らせてください。ロジックと方法を改善することは常に良いことです。

http://jsfiddle.net/nYHNk/1/

$(document).ready(function (){
$('#div2, #div3, #div4').hide();
$('#add').click(function(){
     //code
    var curr = $(".question:visible");
    var next = curr.next(".question");
    next.show();

});

$('#remove').click(function(){
    var prev = $(".question:visible");
    var remove = prev.next(".question");
    remove.hide();
});    
});

var oneAtt = 1;
var theTotal = 1;
$('#add').click(function(){
theTotal = Number(theTotal) + Number($(this).val());
$('.total').text("Total: "+theTotal);        
});

$('.total').text("Total: "+theTotal);        

$('#remove').click(function (){
    theTotal = oneAtt;
   $('.total').text("Total: "+oneAtt); 
});
于 2013-06-14T14:24:06.597 に答える