2012-10-14 46 views
2

我使用jQuery在表單上進行選擇後發送AJAX請求,並且我想根據選擇的內容將不同的東西回顯到div中。這裏是我的形式:基於表單選擇的回聲PHP jQuery .post AJAX

<form name="myform" id="myform" method="post" action="#"> 
    <select name="myselect" id="myselect"> 
     <option>-- Make a selection --</option> 
     <option value="1">Option 1</option> 
     <option value="2">Option 2</option>   
    </select> 
</form> 

下面是在頁面前面的JavaScript:

$(document).ready(function() { 
    $('#myselect').change(function() { 
     $(this).parents("form").submit(); 
    }); 
    $('#myform').submit(function() { 
     $.post(
     'myscript.php', 
     $(this).serialize(), 
     function(data){ 
      $("#mydiv").html(data) 
     } 
    ); 
     return false; 
    }); 
}); 

這裏是myscript.php:

<?php 
    if ($_POST['myselect'] = "1") { 
     echo "Div contents 1"; 
    } 
    if ($_POST['myselect'] = "2") { 
     echo "Div contents 2"; 
    } 
?> 

我的問題是這樣的:「DIV內容在表單上做出任何選擇後,1Div內容2'會回覆到mydiv中。如果選擇選項1,我試圖讓它回顯'Div contents 1',如果選擇了選項2,則顯示'Div contents 2'。

感謝併爲長期問題道歉。

回答

2

代碼:

​​

if ($_POST['myselect'] = "2") { 

將始終爲true,因爲它的任務。

您需要使用:

if ($_POST['myselect'] == "1") { 
+0

哎呀這麼明顯的錯誤!非常感謝您指出它:) – user1684046

2

它是一個好oldy,

更改爲

<?php 
if ($_POST['myselect'] == "1") { 
    echo "Div contents 1"; 
} 
if ($_POST['myselect'] == "2") { 
    echo "Div contents 2"; 
} 
?> 

注意==