Php 使用JQuery更改其他组合框时动态加载HTML组合框的最佳方法是什么
我找到了一种简单的方法,可以在更改另一个组合框时动态加载到HTML组合框。我有一种方法,但它确实很痛苦,而且不是一个很难维护的灵活代码 例如,当根据国家/地区值更改国家/地区时,我有两个组合框country/provice省组合框值应更改Php 使用JQuery更改其他组合框时动态加载HTML组合框的最佳方法是什么,php,jquery,symfony1,Php,Jquery,Symfony1,我找到了一种简单的方法,可以在更改另一个组合框时动态加载到HTML组合框。我有一种方法,但它确实很痛苦,而且不是一个很难维护的灵活代码 例如,当根据国家/地区值更改国家/地区时,我有两个组合框country/provice省组合框值应更改 function getCo(cid){ var countryVal=$('#cmbCountry').val(); $.post("<?php echo url_for('country/ajaxloadcourse') ?>"
function getCo(cid){
var countryVal=$('#cmbCountry').val();
$.post("<?php echo url_for('country/ajaxloadcourse') ?>", //Ajax file
{ cid: cid }, // create an object will all values
//function that is called when server returns a value.
function(data) {
var selectbox="<select name='province' id='province' class='formSelect' style='width: 150px;' tabindex='4' onchange='getCourseId(this.value,"+countryVal+")'>";
selectbox = selectbox +"<option value=''><?php echo __('--Select--') ?></option>";
$.each(data, function(key, value) {
selectbox=selectbox +"<option value="+key+">"+value+"</option>";
});
selectbox=selectbox +"</select>";
$('#provincelist').html(selectbox);
},
//How you want the data formated when it is returned from the server.
"json"
);
}
有什么简单的方法可以做到这一点吗,
谢谢2额外建议: 您可以将HTML fragmen/DOM builder块放在服务器端,因此创建一个类/方法来生成DOM选择框,因为几乎所有流行的php框架都有它们的HTML助手,或者如果您已经习惯了一些模板系统,比如Smarty,这可能会减少JS脚本以便于维护 重构代码。如果您有一些类似的函数/方法,在应用程序中,创建一个公共函数是保持代码干净和可维护的最佳方法。在这种情况下,如果您有多个链接组合框方法,最好将上面的一些函数放入您自己的自定义插件中,这样您就不需要编写上面的另一个相同函数 然后,您可以使用编写一些函数作为包装器来处理前面的json并输出html片段,这样您就不必在js块中手工制作html部分。