Jquery函数再次在同一函数中调用

时间:2013-07-16 13:14:15

标签: jquery post call

function start(){
    var id      = $("#MUChooseMitarbeiter option:selected").val();
    var monat   = $("#MUChooseMonat option:selected").text();
    var jahr    = $("#MUChooseJahr option:selected").text();

    $.post("interface/GET/stundenSELECT.php",{'id':id,'monat':monat,'jahr':jahr}).done(function(data) {
        $('.Content, .Print').html(data);
        $('input[type="text"]').focus(function(){this.select();});
        $('button').button();
        $('#abgabezeit').attr( "title", "Wenn die Zeit um ist sind keine Eintragungen oder Änderungen mehr möglich!" ).tooltip(); 
        $('#status').attr( "title", "Bei 30/30 oder 31/31 wird der Kontoübertrag mit deinem Stundenkonto verrechnet." ).tooltip();
        $('#urlaub').attr( "title", "Urlaubstage die du in diesem Monat genommen hast" ).tooltip(); 
        $('#konto').attr( "title", "Bezieht sich nur auf den aktuellen Monat. Rot=nicht gespeichert | Grün=gespeichert | siehe auch oben Fortschritt-Info" ).tooltip(); 
        $('#auszahlen').attr( "title", "Anzahl in Stunden, die du ausbezahlt haben möchtest" ).tooltip(); 
            $('.tm').change(function(){
            var tm = $(this).val();
            var ta = $(this).parents('tr').find('.ta').val();
            if( !ta || !tm ){ $( "#hTouren" ).dialog( "open" ); }
            var tag = $(this).parents('tr').find('td:nth-child(1)').text();
            var id  = $("#MUChooseMitarbeiter option:selected").val();
            $.post("interface/POST/stundenUPDATE.php",{'id':id,'tm':tm,'ta':ta,'tag':tag});
        });
        $('.ta').change(function(){
            var ta = $(this).val();
            var tm = $(this).parents('tr').find('.tm').val();
            if( !ta || !tm ){ $( "#hTouren" ).dialog( "open" ); }
            var tag = $(this).parents('tr').find('td:nth-child(1)').text();
            var id  = $("#MUChooseMitarbeiter option:selected").val();
            $.post("interface/POST/stundenUPDATE.php",{'id':id,'tm':tm,'ta':ta,'tag':tag});
        });
        $('input[type="text"]').change(function(){
             var name = $(this).attr("name");
             var std = $(this).val();
             var tag = $(this).parents('tr').find('td:nth-child(1)').text();
             var id  = $("#MUChooseMitarbeiter option:selected").val();
             $.post("interface/POST/stundenUPDATE.php",{'id':id,'name':name,'std':std,'tag':tag});
            });
            $('.StundenEnd input[type="text"]').change(function(){
                $('#MUShow').button().click(start);
            });
    }); // end done

}

我想通过.StudenEnd再次调用函数,但没有任何反应。 为什么呢?

2 个答案:

答案 0 :(得分:1)

代码:

 $('#MUShow').button().click(start);

看起来您正在将函数“start”附加为按钮单击事件的事件处理程序。但你说你需要调用这个函数,为什么不简单地调用它呢?

$('.StundenEnd input[type="text"]').change(function(){
     start();
});

答案 1 :(得分:0)

尝试从start()函数中取出所有这些:

    $('.tm').change(function(){
        var tm = $(this).val();
        var ta = $(this).parents('tr').find('.ta').val();
        if( !ta || !tm ){ $( "#hTouren" ).dialog( "open" ); }
        var tag = $(this).parents('tr').find('td:nth-child(1)').text();
        var id  = $("#MUChooseMitarbeiter option:selected").val();
        $.post("interface/POST/stundenUPDATE.php",{'id':id,'tm':tm,'ta':ta,'tag':tag});
    });
    $('.ta').change(function(){
        var ta = $(this).val();
        var tm = $(this).parents('tr').find('.tm').val();
        if( !ta || !tm ){ $( "#hTouren" ).dialog( "open" ); }
        var tag = $(this).parents('tr').find('td:nth-child(1)').text();
        var id  = $("#MUChooseMitarbeiter option:selected").val();
        $.post("interface/POST/stundenUPDATE.php",{'id':id,'tm':tm,'ta':ta,'tag':tag});
    });
    $('input[type="text"]').change(function(){
         var name = $(this).attr("name");
         var std = $(this).val();
         var tag = $(this).parents('tr').find('td:nth-child(1)').text();
         var id  = $("#MUChooseMitarbeiter option:selected").val();
         $.post("interface/POST/stundenUPDATE.php",{'id':id,'name':name,'std':std,'tag':tag});
        });
    $('.StundenEnd input[type="text"]').change(function(){
            $('#MUShow').button().click(start);
    });

在我看来,你正试图在这些元素上委托“onchange”事件。

另外,如果你想在最后触发click事件,你必须直接调用它而不需要任何参数。

$('#MUShow').button().click();

然而,您必须在文档中的其他位置使用以下内容才能使其正常工作。

$('#MUShow').click(function(){ start() });