我正在寻找一种简单的方法来动态加载到HTML组合框上更改另一个组合框我有办法,但它真的很痛苦,而不是一个难以维护的灵活代码
例如我根据国家/地区值更改国家/组合时有两个组合框/组合值组合框值应该改变。
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"
);
}
有没有简单的方法可以做到这一点, 感谢
答案 0 :(得分:0)
另外2条建议:
您可以将“HTML”fragmen / DOM构建器块放在服务器端,因此创建一个类/方法来生成DOM(选择框)(因为几乎所有流行的php框架都有他们的HTML帮助器) ,或者如果你已经习惯了某些模板系统,比如Smarty),这可能会减少你的JS脚本,以便于维护。
重构您的代码。如果您有一些类似的功能/方法,在您的应用程序中,创建一个通用功能是保持代码清洁和维护的最佳方法。在这种情况下,如果您有多个链接组合框方法,最好将上面的一些函数放入您自己的自定义“插件”中,这样您就不需要像上面那样编写另一个identic函数。 / p>