2013-07-16 68 views
-3
<div id="dept-or-user-div" class="panel" style="padding-bottom:10px;"> 
    <h3 class="div-title">Select Alert Recipients</h3> 
    <div class="recipient-error" style="display:none;"><p style="padding-top:10px; color:#f00;">Please select at least one recipient</p></div> 

    <p> 
     <input type="radio" checked value="dept" name="user-or-dept">Department</input> 
     <input type="radio" value="user" name="user-or-dept">User</input> 
     <input type="radio" value="both" name="user-or-dept">Both</input> 
    </p> 
    <div class="department-select" class="dept"> 
     <p><label for="department-choice">Department:</label> 
     <select name="department-choice" id="department-choice"> 
      <option></option> 
      <?php 
       echo get_departments(); 
      ?> 
     </select></p> 
    </div><!--end #department-select--> 
    <div class="user-select user" > 
     <p><label for="user-choice">User:</label> 

     <select name='user-choice' id="user-choice"> 
      <option></option> 
      <?php 
       echo get_users('option'); 
      ?> 
     </select></p> 

    </div><!--end #user-select--> 

</div><!--end #dept-or-user-div--> 

在這裏,我有三個單選按鈕如何在特定單選按鈕被選中時調用JavaScript?

  1. 系(部下拉)
  2. 用戶(用戶下拉)
  3. 雙方(用戶和部門dropwon)

而且我想要什麼當單選按鈕的值爲「Both」,即第三個單選按鈕被選中時,我想調用一個js函數並根據部門值動態填充用戶下拉列表。我怎樣才能做到這一點?

+2

只需使用一個事件來調用一個js函數,該函數將檢查是否被選中,然後調用您想運行的任何函數 – Anigel

+0

以及如何填充用戶下拉列表? – S52

回答

1

給它一個id,

<input type="radio" id="both" value="both" name="user-or-dept">Both</input> 

然後,使用jQuery ....做這樣的事情......

$('input#both').change(function(){ 

if($(this).is(':checked')) { 

//do your ajax call here to retrieve values from database based on whatever criteria 
//and populate the result wherever you want 
$.ajax({ 
url: "getdept.php", 
type: "POST", 
data: {type: "both"}, 
dataType: "html", 
success: function(result){ 
    $('#department-choice').html(result); 
} 
}); 

}} 
在PHP文件

然後,像...

$both = mysql_real_escape_string($_POST['type']); 

$sql = "SELECT * FROM table WHERE dept = $both"; 
//dunno what your query will be, because I have no idea of your database 
$res = mysql_query($sql); 
while($row = mysql_fetch_array($res)){ 
    echo "<option>".$row['dept']."</option>"; 
} 

這形式將輸出...

<option>blah blah</option> 
<option>blah blah</option> 
<option>blah blah</option> 

這將插入到select下拉列表中,上面顯示了ajax。

+1

他有兩個單選按鈕,名稱='user-or-dept'。使用具有值屬性的選擇器。 – Hast

+0

非常感謝!所以當選擇部門我會傳遞這個值在後,並根據我會得到用戶和填充('#用戶選擇')。html(結果); – S52

+0

是的,基本上......但你必須確保你的查詢工作,我上面發佈的是一個例子,我不知道你的數據庫結構等 – KyleK

相關問題