2

フォームで選択が行われた後、jQueryを使用してAJAXリクエストを送信しています。どの選択が行われたかに応じて、さまざまなものをdivにエコーバックしたいと思います。これが私のフォームです:

<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が選択されている場合は「Divcontents1」をエコーし​​、オプション2が選択されている場合は「Divcontents2」をエコーさせようとしました。

長い質問をありがとうとお詫びします。

4

2 に答える 2

2

コード :

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

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

割り当てられているため、常にtrueと評価されます。

あなたは使用する必要があります:

  if ($_POST['myselect'] == "1") {
于 2012-10-14T20:30:46.240 に答える
2

その古き良き、

への変更

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

==に注意してください

于 2012-10-14T20:31:07.953 に答える