Jquery条件按钮单击

时间:2013-06-26 19:41:45

标签: jquery

我的页面上有一组按钮,我想要进行某个Ajax调用,而其他按钮是一个不同的Ajax调用,我应该使用数据类型并在其上放置一个if语句。

$("button").click(function () {
    //SOME BUTTONS AJAX THIS CALL
    //This Ajax toggles device on and off
    var $x10Device = $(this).parent().attr("class");
     $.ajax({
        type: 'GET',
        url: "http://192.168.0.34:81/tenHsServer/tenHsServer.aspx",
        data: {
            t: "ab",
            f: "ToggleDevice",
            d: $x10Device
        },
        error: function (request, status, error) {
            alert(request.responseText);
        }
    });
    //OTHER BUTTONS THIS AJAX CALL
    //This Ajax checks the current on/off status of the passed X10 code
    $.ajax({
        url: "urlencode.php",
        data: data,
        type: "POST",
        success: function (data) {
            myd = $('<span />').html(data).find("#Result").text();
            console.log(myd);
            if (myd == 'C5:2;') {
                $('img').attr('src', 'lightbulbon.png')
            } else {
                $('img').attr('src', 'lightbulboff.png')
            };
        },
        error: function (request, status, error) {
            alert(request.responseText);
        }
    });

});

3 个答案:

答案 0 :(得分:4)

将语义css类添加到按钮标记中。将不同的AJAX请求放在相应的单击事件处理程序中。

$("button.toggleStatus").click(function() {
  // ajax request for toggling
});

$("button.checkStatus").click(function() {
  // ajax request for updating status
});

答案 1 :(得分:0)

尝试为每个按钮添加一个类(如Thomas所述)。你也可以通过你的按钮循环检查他们的类名,并在找到匹配时调用ajax函数。也许是这样的:

var btn = $("button");
$.each(btn, function (index) {
    var ctx = $(this);
    if (ctx.hasClass("firstButton")) {
        // call appropriate ajax function here
    }
    if (ctx.hasClass("secondButton")) {
        // call appropriate ajax function here
    }
});

答案 2 :(得分:-1)

使用按钮的ID并将每个ajax请求放入各自的点击事件中......

$("button#button1").click(function() {
 // ajax request for button 1
});

$("button#button2").click(function() {
 // ajax request for button 2
});