我在动态页面中遇到 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调用之前正在运行但在之后是
答案 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选择输入,则需要再次执行相同的代码块,依此类推。