我有一个表格来输入分包合同。在此表格中,我有一个系统中所有公司的下拉列表。旁边是一个“创建公司”按钮。此按钮打开一个jquery对话框,允许用户创建一个新公司。对话框关闭后,需要将新公司添加到下拉列表中并进行选择。如果我刷新,它就在那里,但我需要这样做而不刷新表单b / c我不希望用户放弃他们输入到其他字段的所有内容。我不知道怎么做这个b / c我没有新公司的guid / company_id。
我的jquery对话框:
$('#popupCreateCompany').dialog(
{
autoOpen: false,
modal: true,
buttons:
{
'Add': function() {
var dialog = $(this);
var form = dialog.find('input:text, select');
$.post('/company/create', $(form).serialize(), function() {
dialog.dialog('close');
})
},
'Cancel': function() {
$(this).dialog('close');
}
}
});
$("#create-company").click(function() {
$('#popupCreateCompany').dialog('open');
});
公司领域:
<label for="company">Company:</label>
<%= Html.DropDownList("company", Model.SelectCompanies, "** Select Company **") %>
<%= Html.ValidationMessage("Company", "*") %>
<button type="button" id="create-company" >Create Company</button>
SelectList声明:
SelectCompanies = new SelectList(subcontractRepository.GetPrimaryCompanies(), "company_id", "company_name", Subcontract.company);
答案 0 :(得分:0)
我明白了。我带着guid回了一个Json。
$('#popupCreateCompany').dialog(
{
autoOpen: false,
modal: true,
buttons:
{
'Add': function() {
var dialog = $(this);
var form = dialog.find('input:text, select');
$.post('/company/create', $(form).serialize(), function(data) {
alert(data.Result);
if (data.Result == "success") {
$('#company').append($('<option selected="selected"></option>').val(data.company_id).html(data.company_name));
};
dialog.dialog('close');
}, "json")
},
'Cancel': function() {
$(this).dialog('close');
}
}
});