我有一个有下拉列表的表单。但是,用户可以通过单击新值旁边的按钮来注册它(也可以注册到数据库中)。在
我设法通过AJAX方法注册它。但是,我没有找到刷新下拉列表的方法,以便用户可以选择新插入的值。在
我尝试了location.reload(true)
,但这将删除现有的表单输入。有没有办法让我只刷新下拉列表,或者刷新而不丢失输入?在
我的JQuery看起来像这样
$('#formSupplier').submit(function(e){
$('#divProcessingMessage').show();
$('#divSupplierForm').hide();
$.post('/item/xhr_reg_supplier/',$('#formSupplier').serializeArray(),
function(data){
if(data){
alert('Supplier registration successful')
$('#divProcessingMessage').hide();
$('#divSupplierForm').show();
//Clear the form's field
$('#formSupplier').find(':input').each(function(){
switch(this.type) {
case 'password':
case 'select-multiple':
case 'select-one':
case 'text':
case 'textarea':
$(this).val('');
break;
case 'checkbox':
case 'radio':
this.checked = false;
}
});
$('#supplier_form').hide();
location.reload(true);
} else {
alert('Supplier registration failed')
}
}
);
我正在使用django1.3.1框架。在
在处理AJAX请求的视图中,让它重新呈现表单字段并返回HTML。然后在JS回调中,用jquery:
$('select[name="thefield"]').replaceWith(data)
交换它。如果下拉列表更改时有页面事件触发,则可能需要将事件重新绑定到新插入的DOM片段。在有三种方法:
或者
^{pr2}$或者
相关问题 更多 >
编程相关推荐