2017-06-17 127 views
-1

好吧,這是我得到的挑戰。我在學校創建了一個紀律頁面。據此我得到了受害者的標題,使用JavaScript隱藏在受害者標題的選擇中的受害者的名字。不過,我嘗試在JavaScript中調用PHP腳本,它失敗了。我需要幫助。提前致謝。在javascript中添加php值

PHP代碼: 受害者*

      <?php 
          $get_vic_type = "select * from user_roles"; 
          $run_vic_type = mysql_query($get_vic_type); 
          while ($row = mysql_fetch_array($run_vic_type)) { 
           $vic_type_id = $row['id']; 
           $vic_type = $row['role']; 
           echo "<option value='$vic_type'>$vic_type</option>"; 
           # code... 
          } 
          ?> 
         <option value="student">Student</option> 
         <option value="visitor">Victim</option> 
        </select> 
       </td> 
       </tr> 
       <tr id="victim_name" style="display: none;"> 
        <td align="right" style="width: 100%;">Victim Name : </td> 
        <td align="left" style="width: 100%;"> 
        <select style="width: 100%;" name="vic_name" class="sect" placeholder="Victim's Name"> 
         <?php 
          $get_vic_name = "select * from useraccounts"; 
          $run_vic_name = mysql_query($get_vic_name); 
          while ($row = mysql_fetch_array($run_vic_name)) { 
           $v_name = $row['id']; 
           $vic_name = $row['name']; 
           echo "<option value='$vic_name'>$vic_name</option>"; 
           # code... 
          } 
          ?> 
        </select> 
        </td> 
        </tr> 
       <tr id="vis_name" style="display: none;"> 
        <td align="right" style="width: 100%;">Visitor Name : </td> 
        <td align="left" style="width: 100%;"><input type="text" name="vic_name" placeholder="Visitor's Name"></td> 
       </tr> 
       <tr id="stud_name" style="display: none;"> 
        <td align="right" style="width: 100%;">Student Name: </td> 
        <td align="left" style="width: 100%;"><select style="width: 100%;" class="sect" name="vic_name" placeholder="Student's Name" cols="9"> 
         <option></option> 
         <?php 
          $get_stud= "select * from studentdetails"; 
          $run_stud = mysql_query($get_stud); 
          while ($row = mysql_fetch_array($run_stud)) { 
          $stud_id = $row['id']; 
          $stud_fname = $row['fname']; 
          $stud_lname = $row['lname']; 
          echo "<option value='$stud_fname $stud_lname'>". $stud_fname ." ". $stud_lname ."</option>"; 
          # code... 
         } ?> 
         </select> 
        </td> 

的Javascript:

<script type="text/javascript"> 
      $("#victim").change(function (ev){ 
       if($(this).val()=='visitor') $("#vis_name").css("display", "table-row") 
       else $("#vis_name").css("display", "none") 

       if($(this).val()=='student') $("#stud_name").css("display", "table-row") 
        else $("#stud_name").css("display", "none") 

       if($(this).val()==<?php echo $vic_type; ?>) $("#victim_name").css("display", "table-row") 
        else $("#victim_name").css("display", "none") 
      }); 
     </script> 
+1

請澄清你的問題。我們無法幫助你: –

回答

0

嘗試if($(this).val()==<?php echo $vic_type; ?>)

或者,您可以鍵入PHP內整個標籤,是這樣的:<?php echo"//here_goes_your_script"; ?>和你用簡單的連接插入$ vic_type

編輯:

這裏有一個工作的代碼。代碼佈局應該像下面:

<?php 
     $get_vic_type = "select * from user_roles"; 
     $run_vic_type = mysql_query($get_vic_type); 
    ?> 
    <html> 
    <head> 
     <script src="jquery.min.js"></script> 
     <script> 
      $("#victim").change(function (ev){ 
      if($(this).val()=='<?php echo $vic_type; ?>') 
       //your_(re)action; 
      else 
       //your_(re)action; 
      }); 
     </script> 
    </head> 
    <body> 
     <!--your code--> 
     <select id='victim'> 
       <?php 
        while ($row = mysql_fetch_array($run_vic_type)) { 
         $vic_type_id = $row['id']; 
         $vic_type = $row['role']; 
         echo"<option value=".$vic_type.">".$vic_type."</option>"; 
        } 
       ?> 
     </select> 
    </body> 
    </html> 
0

這裏寫下面的代碼將無法正常工作,

if($(this).val()==<?php echo $vic_type; ?>) 

因爲PHP代碼只能運行一次,而加載頁面時這樣做,這將不起作用,

+0

它沒有工作老闆 –

0

有效的方法是隱藏存儲值,然後在javascript中獲取值。

PHP:

<select id="victim" name="vic_title" class="sect" plcaeholder="Select a Role"> 
<?php 
$get_vic_type = "select * from user_roles"; 
$run_vic_type = mysql_query($get_vic_type); 
while ($row = mysql_fetch_array($run_vic_type)) { 
     $vic_type_id = $row['id']; 
     $vic_type = $row['role']; 
     echo "<option value='$vic_type'>$vic_type</option>"; 
           # code... 
    } 
?> 
<option value="student">Student</option> 
<option value="visitor">Victim</option> 
</select> 
<input type='hidden' name='vic_type' id='vic_type' value='<?=$vic_type?>'> 

的Javascript:

<script> 
$("#victim").change(function (ev){ 
     if($(this).val()==$('#vic_type').val()) $("#victim_name").css("display", "table-row") 
     else $("#victim_name").css("display", "none") 
     }); 
</script> 
+0

這應該對你有用嗎?@wizy Judah – lalithkumar

+0

謝謝。但是當我運行代碼時它只顯示$ vic_type,但我想要它在$ vic_type中顯示隱藏的選擇選項 –

+0

$ vic_type是下拉值,那麼你試圖存儲在隱藏的。@wizy猶大 – lalithkumar