如果查询返回数据,则Jquery显示div

时间:2016-02-18 16:21:01

标签: jquery

我正在使用需要显示包含小FORM的DIV的脚本。我需要仅在对数据库的查询返回1或更多结果时才显示FORM。

我有查询数据的MySQL查询,它正在工作并填充名为$ alerts的var,然后我回显var $ alerts的内容。

我的jQuery脚本如下:

$(document).ready(function() { 
        function runrequests() { 
           $.ajax({ 
             url: 'check_request_events.php',
             type:"POST",
             data:"alerts", 
             success: function(data){ //4
             document.getElementById("alerts").innerHTML = data;

               //render the dynamic data into html
             } 
           });  
        };  

               // run it initially
        runrequests();

        // run it every 30 seconds
        setInterval(runrequests, 30 * 1000);
        });

显示div的脚本部分是:

<div id="alerts">
<form id="form1" name="form1" method="post" action="<?php echo $editFormAction; ?>">
<input type="image" src="../../../../conf_images/butler_request.png" name="button" id="button" value="Submit" />
<input name="RecordID" type="hidden" value="<?php echo $ClientRecordId;?>" />
<input type="hidden" name="MM_update" value="form1" />
<input type="hidden" name="RecordID" value="<?php echo $row_ConfAlert['RecordID']; ?>" />
</form>

当查询返回大于0的数据时,我只需要显示DIV。

非常感谢您的时间和帮助。

新代码 jQuery的

$(document).ready(function() { 
        function runrequests() { 
           $.ajax({ 
             url: 'check_request_events.php',
             type:"POST",
             data:"alerts", 
             success: function(data){

                if (data.length > 0){
                    $('#alerts').show();
                } else {
                    $('#alerts').hide();
                }
               //render the dynamic data into html
             } 
           });  
        };  

               // run it initially
        runrequests();

        // run it every 30 seconds
        setInterval(runrequests, 30 * 1000);
        });

CSS

#alerts {
display:none;
}

DIV

<div id="alerts">
<form id="form1" name="form1" method="post" action="<?php echo $editFormAction; ?>">
<input type="image" src="butler_request.png" name="button" id="button" value="Submit" />
<input name="RecordID" type="hidden" value="<?php echo $ClientRecordId;?>" />
<input type="hidden" name="MM_update" value="form1" />
<input type="hidden" name="RecordID" value="<?php echo $row_ConfAlert['RecordID']; ?>" />
</form>
</div>

仍未隐藏DIV。 此致

2 个答案:

答案 0 :(得分:0)

使用给定的代码。数据类型是json。 json编码check_request_events.php中所需的数据。试试这个。

$(document).ready(function() { 
        function runrequests() { 
           $.ajax({ 
             url: 'check_request_events.php',
             type:"POST",
             data:"alerts",
 dataType: 'json',
             success: function(data){ //4
if (data.length > 0) {
            document.getElementById("alerts").innerHTML = data;

        }else{
            //alert('no data');
        }

               //render the dynamic data into html
             } 
           });  
        };  

               // run it initially
        runrequests();

        // run it every 30 seconds
        setInterval(runrequests, 30 * 1000);
        });

答案 1 :(得分:0)

执行if语句时,所有缺失的都是''围绕数据。

$(document).ready(function() { 
    function runrequests() { 
       $.ajax({ 
         url: 'check_request_events.php',
         type:"POST",
         data:"alert",
         dataType: 'json',
            success: function(data){ 

                if (data == '1'){
                    $('#alerts').show();
                } else {
                    $('#alerts').hide();
                }
            } 
        });  
    };  

           // run it initially
    runrequests();

    // run it every 30 seconds
    setInterval(runrequests, 30 * 1000);
});