2017-02-09 37 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 =一部分。