2012-07-18 103 views
1

好吧我在選擇字段上有onchange事件。它現在效果很好。當下拉「網絡」更改時,刷新第二個下拉菜單。我也希望頂部的ajax代碼在頁面加載以及onchange時觸發,以便第二個列表被填充。這是由於它在編輯頁面上。下面是使用第一頁面加載時也觸發onchange html事件

function get_cities(networks) 
{ 
$.ajax({ 
    type: "POST", 
    url: "select.php", /* The country id will be sent to this file */ 
    beforeSend: function() { 
    $("#folder").html("<option>Loading ...</option>"); 
    }, 
    //data: "idnetworks="+networks, 
    data: "idnetworks="+networks +"&doc="+ <?php echo $row_rs_doc['parentid']; ? >, 


    success: function(msg){ 
    $("#folder").html(msg); 
    } 



    }); 
} 

現在兩個下拉框

<label for="networks" ></label> 
    <select name="networks" id="networks" onChange='get_cities($(this).val())'> 
    <?php 
do { 
?> 
    <option value="<?php echo $row_rs_net['idnetworks']?>"<?php if (!(strcmp($row_rs_net['idnetworks'], $row_rs_doc['network']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rs_net['netname']?></option> 
    <?php 
} while ($row_rs_net = mysql_fetch_assoc($rs_net)); 
$rows = mysql_num_rows($rs_net); 
if($rows > 0) { 
    mysql_data_seek($rs_net, 0); 
    $row_rs_net = mysql_fetch_assoc($rs_net); 
} 
?> 
    </select> 

<select name="folder" id="folder"> 


</select> 

回答

1

您可以使用.trigger()觸發change事件到選擇框,因此平變化的代碼將被稱爲像它會如果用戶只是切換的選項。

jQuery('#networks').trigger('change'); 

只需將其加載到頁面的加載事件/函數中即可。

jQuery(document).ready(function() { 
    jQuery('#networks').trigger('change'); 
}); 
+1

夥計們你們都是傳說,這個網站還有襪子。在我詢問本網站之前花了3天時間。再次感謝你們!!!!!!!! – 2012-07-18 13:26:54

0

我不是100%清楚你想要什麼,但標準的方式做一些與jQuery當頁面Ajax調用IM裝,是用

$(document).ready(handler) 

這也是在等待,直到頁面是「準備好」,這是更好的。

所以,在你的文件頭你有這樣的事情......

<script type="text/javascript"> 
$(document).ready(function(){ 
    do_some_stuff(); 
}); 
</script> 
0

你就不能調用get_cities($('#networks').val())當DOM準備好了?

$(function() { // will be run by jQuery when DOM is ready 
    get_cities($('#networks').val()); 
}); 
相關問題