2012-11-23 64 views
1

我想在下拉菜單中顯示數據庫中的所有表格列表並允許用戶選擇表格名稱。當用戶選擇表名時,我想顯示所有的數據。 HTML文件是這樣的onchange事件不能在下拉菜單中使用jquery從另一個php頁面添加

<!DOCTYPE html> 
<html> 
<head> 
    <script src="jquery.js"></script> 
    <script> 
     $(document).ready(function(){ 

      $.ajax({url:"home.php?id=1", 
       success:function(result){ 
        $("#div1").html(result);     
       }}); 

      $("#dropdown").change(function(){ 
       alert("list item selected"); 
       $.ajax({url:"home.php?id=2&tablename="+tableForm.tableLists.value, 
        success:function(result){ 
         $("#div2").html(result); 
        }}); 
      }); 
     }); 

    </script> 
</head> 
<body> 
    <button value="add" > 
     <form name="tableForm"> 
      <div id="div1"></div> 
     </form> 
    </button> 
    <br><hr> 
    <div id="div2"></div> 
</body> 

這個網頁運行很好,而且顯示屬於數據庫alltable名稱的列表。但是當我從下拉列表中選擇一個值時,它甚至不會提示「選擇的列表項」消息。怎麼做才能使它工作?

這裏是下拉列表中的圖像 enter image description here

回答

2

它看起來像下拉框中動態加載到頁面中,所以你必須使用.on()綁定功能,動態添加的元素:

$(document).on('change', '#dropdown', function(){ 
    console.log("list item selected"); 
    // do whatever here 
}); 
+0

沒有任何變化:( – GaurabDahal

+0

亞工作。我只是用jquery-1.8.2.min.js文件更新了jquery.js文件,謝謝 – GaurabDahal

0

我想下拉框被動態加載到頁面中。您可以使用這樣的

$("#dropdown").on('change',function(){ 
       alert("hoi"); 
       $.ajax({url:"home.php?id=2&tablename="+tableForm.tableLists.value, 
        success:function(result){ 
         $("#div2").html(result); 
        }}); 
      }); 
+0

感謝,但它仍然沒有提醒「hoi」消息 – GaurabDahal

+0

對於'.on()'來像'.live() '函數,它需要綁定到'document'事件而不是實際的元素本身(它更像''.bind()'函數)。 –

0

當你的代碼表明,要動態填充的下拉列表,並在你的代碼是給哪個都不行還有其他一些事件處理程序像.on.bind.live等本地事件,如果我在這種情況下工作,我會確定地喜歡使用.on.live使你的代碼必須是這樣的:

$("#dropdown").live('change',function(){ 
    alert("list item selected"); 
    $.ajax({ 
     url:"home.php?id=2&tablename="+tableForm.tableLists.value, 
     success:function(result){ 
      $("#div2").html(result); 
      } 
    }); 
}); 

或本:

$("#dropdown").on('change',function(){ 
    alert("list item selected"); 
    $.ajax({ 
     url:"home.php?id=2&tablename="+tableForm.tableLists.value, 
     success:function(result){ 
      $("#div2").html(result); 
      } 
    }); 
}); 
+0

沒有錯誤,沒有警告沒有例外,並且它甚至不提醒即使是第一條消息。如果我使用.on()是否顯示動態加載部分代碼的源代碼? – GaurabDahal

相關問題