我有一个按钮点击功能,用于在单击按钮时运行$ .getJSON。它从控制器获取一些值,将这些值发布到某些表单字段,并打开包含表单的模式。 我第一次单击它运行的按钮$ .getJSON发布值并打开模态就好了。 当我关闭模态并再次单击该按钮时。它只是打开模态,值是旧值。它不会再次运行$ .getJSON。我知道它也不是因为我在控制器中设置了一个断点。它第一次达到了破发点。但是在我完全重新加载页面之前,不会再进入控制器。
这是我的按钮点击脚本
$('[id^=edit]').button().click(function () {
var selected = $(this).val();
var arr = selected.split(',');
var item = arr[0];
var parent = arr[1];
$("#itemspan").text(parent);
$("#parentspan").text(item);
$("#partno")[0].value = item;
$("#parent")[0].value = parent;
var url = $("#itemdetailsjsonurl").attr("href");
var fullurl = url + '/' + item + '/' + parent;
$.getJSON(fullurl, null, function (data) {
$("#qty")[0].value = data.qty;
$("#startdate")[0].value = data.sdate;
$("#enddate")[0].value = data.edate;
$("#notes")[0].value = data.memo;
});
$("#edtbomitem").dialog('open');
});
任何想法为什么?
答案 0 :(得分:2)
默认情况下,它会被浏览器缓存。您可以使用jQuery的ajax堆栈来设置它:http://api.jquery.com/jQuery.ajax/。
缓存
默认值:true,false表示dataType'script'和'jsonp' 如果设置为false,它将强制您请求的页面不被浏览器缓存。
Grz,Kris。
答案 1 :(得分:0)
click事件已经触发,因此jQuery停止侦听点击。
尝试:$('[id^=edit]').button().live('click', function () {
答案 2 :(得分:0)
我的猜测是,在您从服务器上取回信息后,您没有连接按钮onclick事件。
因此,要么使用.live语法,要么在调用服务器后手动重新连接。