jquery在AJAX调用之后不会运行

时间:2016-07-13 05:04:07

标签: jquery html ajax

我在动态页面中遇到 JQuery 的问题。 我有一个选择输入:

NSBatchUpdateRequest

和文字输入:

let batchUpdateRequest = NSBatchUpdateRequest(entityName: "Person")
batchUpdateRequest.predicate = NSPredicate(value: true)

// Convert name to uppercase
batchUpdateRequest.propertiesToUpdate = ["name": NSExpression(forFunction: "uppercase:", arguments: [NSExpression(forKeyPath: "name")])]

batchUpdateRequest.resultType = .UpdatedObjectIDsResultType
try! self.context.executeRequest(batchUpdateRequest)

我在我的剧本中写道:

<select id="select">
    <option value="1">1</option>
    <option value="2">2</option>
</select>

函数<input id="input" type="text" value="123456789"></input> 在 Ajax调用之前正在运行但在之后

1 个答案:

答案 0 :(得分:1)

这通常是因为在ajax请求之后在页面中删除并重建了html选择输入,并且您需要在ajax完成后再次调用以下命令来再次注册处理程序:

$(body).on("change","#select",function(){//AJAX is called
    changeLength();
});

例如,在ASP.net中,使用RegisterStartupScriptBlock在ajax回发完成后执行此类代码:

Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "selectHandler", " $(body).on('change','#select',function(){//AJAX is called changeLength();});", true);

如果您使用jQuery执行ajax请求并重新构建页面中的html选择输入,则需要再次执行相同的代码块,依此类推。