使用参数调用函数

时间:2015-05-31 13:20:27

标签: javascript jquery jquery-mobile

我创建了这两个相互调用的函数但是 我不明白为什么我不能调用函数ioFunction()。 我能做错什么?

这样我就可以调用函数:

$("[name=flip-4]").change(function() {
    var b = $("#flip-2").val();
    var c = $("#flip-3").val();
    var d = $("#flip-4").val(); 

    if (b == "on" || c == "on" && d == "off") {
        var message = 'the roof cant be close when some setups is on.';

        dialogFunction(message);

        $("#flip-4").val("on");                    
    } else {
        var message = 'the roof will be ' + d + ': ' + output + '.';                                   
        var flip = 'flip4';

        ioFunction(flip,d,message);
    }
});

function dialogFunction(param) {
    var html = '<div data-role="dialog" id="page2" data-mini="true" data-close-btn="right">';
    html += '<div data-role="header"><h1 style="text-align:left; margin-left:10px;">Atention</h1></div>';
    html += '     <div role="main" class="ui-content">';
    html += '          <legend>' + param +'</legend>  ';
    html += '     </div>';
    html += '     </div>';

    $('#page2').remove();
    $('body').append(html);
    $('#page2').enhanceWithin();

    $.mobile.changePage("#page2");
}

function ioFunction(parama,paramb,paramc) {
    $.ajax({
        url: 'io.php?'+ parama + '=' + paramb,
        dataType: 'text',
        success: function(output){
            var output = $.trim(output);
            if (output == "success") {
                dialogFunction(paramc);
            } else {
                dialogFunction('ERROR: ' + output);
            }
        }
    });
}   

1 个答案:

答案 0 :(得分:1)

我认为问题在于你的if陈述:

if (b == "on" || c == "on" && d == "off") {

你的意思是:

if ((b == "on" || c == "on") && d == "off") {    

if (b == "on" || (c == "on" && d == "off")) {  

?考虑在您的条件周围加上括号,使其更明确。

我愿意打赌,如果你在console.log内放置一个断点/ else或其他内容,你就永远无法达到它。