我有一个选择,允许用户选择多个选项。同一页面上还有一个表单,允许用户添加将出现在选择中的新关键字。
我的javascript向php脚本发送ajax请求,该脚本返回成功或错误消息,然后将其添加到dom中。
脚本的ajax部分看起来像这样
$.post(
metadataAction,
{
dateOfUpdate:dateOfUpdateVal,
metadataStandardName:metadataStandardNameVal,
metadataLanguage:metadataLanguageVal
},
function(responseText) {
$('body').append(responseText);
},
"html"
);
我只想在成功添加新关键字后重新填充选项。
有没有人对实现这个目标的最佳方法有任何建议?
感谢您的帮助。
答案 0 :(得分:0)
$.post(
metadataAction,
{
dateOfUpdate:dateOfUpdateVal,
metadataStandardName:metadataStandardNameVal,
metadataLanguage:metadataLanguageVal
},
function(responseText) {
$('body').append(responseText);
$('#select_id').append('<option>'+responseText+'</option>');
},
"html"
);
答案 1 :(得分:0)
看起来有点奇怪,你将消息附加到身体,但无论如何......
返回表示具有两个属性的对象的JSON字符串:success [bool],message [string]
没有PHP的经验,但如果响应是JSON类型,那么jQuery(1.4.2)
将其解析为对象,然后在您的成功函数中解析:
function(data)
{
if(data.success)
{
//append the item
}
//show the message
$(msgCont).text(data.message)
}
请注意,如果响应状态代码为200(或任何其他2XX),您将始终获得成功功能
答案 2 :(得分:0)
为了解决这个问题,我让php脚本输出了一个json对象。
如果添加成功,json有三个属性。
成功,消息和newSelect。我在ajax响应中检查是否成功。如果它存在,我使用jquery方法replaceWith()来更新当前表单中返回的选择。
感谢您的帮助。