2017-02-09 65 views
1

我附和以下PHP和在HTML中正确显示出来,这样可不成问题:在jQuery函数使用PHP脚本的

PHP

if (mysqli_num_rows($result) > 0) { 

//create the drop down menu 
$list =""; 
while($row = mysqli_fetch_assoc($result)) { 
    $list = '<div class="dropOption">'.$row["item"].'</div>'; 
} 

此输出三行 - 苹果,梨,草莓 - 在正确的格式。

当我把下面的php脚本放到下面的jquery函数中时,菜单确实包含值草莓(最后一个),但是前两个缺失。

的JavaScript

//drop down menu 
$(document).ready(function(){ 
function createDropdown(){ 
    var drop = $('#customDropdown'); 
    var i; 
    var htmlString = '<div id="dropContainer">'; 

    htmlString += '<?php echo $list;?>'; 

    htmlString += '</div>'; 
    drop.append(htmlString); 
    } 

    createDropdown(); 

我是新来的jQuery和PHP所以请原谅我,如果错误是简单的;不过,我很确定它是正确的,从功能上讲,因为我得到了一些东西;所以我认为语法必须在某处出错。任何人都可以帮忙吗?提前致谢。

回答

3

在你的PHP应该

$list .= '<div class="dropOption">'.$row["item"].'</div>';

,然后输出就这样<?=$list;?>在你的js部分

.是用来连接字符串在PHP

+0

这个你的意思是 - $ list ='

".$row["item"]."
';如果是这样,它似乎没有工作 – user1849962

+0

我的意思是把它留在你的JS部分,并添加'。'在你的PHP部分,因为我在我的答案中写道。 – curveball

+0

灿烂;有效;非常感谢你。 – user1849962

1

你只是将最后一项分配给$list变量。你需要将它们连接在一起。

尝试:

if (mysqli_num_rows($result) > 0) { 
    // Create the drop down menu 
    $list = ""; 
    while($row = mysqli_fetch_assoc($result)) { 
     $list .= '<div class="dropOption">' . $row["item"] . '</div>'; 
    } 
} 

注意$list .=而不是$list =一部分。