2012-07-18 108 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()); 
}); 
相关问题