Javascript 从ajax函数中获取新内容,并在单击时替换它
我有一个带有div的页面,当用户单击单选按钮时,它会获取新内容,当页面加载时,它会显示主要内容,当用户单击X单选按钮时,该内容会重新获得新的或不同的信息,有一个div id不会更改。。。所以 当用户加载页面时,我检查了一些值,X值是否低于然后替换div内容,在第一次加载时效果很好,但是如果用户更改了选项,那么第一个脚本将不会执行任何操作。。。下面是基本的html 基本上,当用户单击任意单选按钮时,div信息的内容被ajax信息替换,我想知道如何获取新内容并替换一些值。。。 现在,带有隐藏的ID qty的输入具有我需要的值,该值小于或大于我将div内的按钮替换为ID checkoutbtn从buy Now到Only in US and UK,请请求报价。。。因此,我的JS是:Javascript 从ajax函数中获取新内容,并在单击时替换它,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我有一个带有div的页面,当用户单击单选按钮时,它会获取新内容,当页面加载时,它会显示主要内容,当用户单击X单选按钮时,该内容会重新获得新的或不同的信息,有一个div id不会更改。。。所以 当用户加载页面时,我检查了一些值,X值是否低于然后替换div内容,在第一次加载时效果很好,但是如果用户更改了选项,那么第一个脚本将不会执行任何操作。。。下面是基本的html 基本上,当用户单击任意单选按钮时,div信息的内容被ajax信息替换,我想知道如何获取新内容并替换一些值。。。 现在,带有隐藏的ID
(function($) {
var pkg = $("#qty").val();
var cot = '<a rel="{handler: \'iframe\', size: {x: 570, y: 550}}" ' +
'class="modal" href="qut.php">' +
'<input type="button" value="Quotation" class="btn btn-small">' +
'</a>';
window.onload = function() {
if (pkg < 4 ) {
// do something
// alert('Checked');
$('#checkoutbtn').html(cot);
}
};
$('input:radio[name="shipping"]').change(
function(){
if ($(this).is(':checked') && $(this).attr("id") == 's1') {
// alert(pkg);
$('#checkoutbtn').html(cot);
} else if ($(this).is(':checked') && $(this).attr("id") == 's2') {
$('#checkoutbtn').html(cot);
}
});
})(jQuery);
当页面第一次加载时,它工作正常,如果不是ajax使用id信息更改div的内容,它将是完美的,但不是。。。
如您所见,我有一段代码:$'input:radio[name=shipping]'。更改。。。所以现在我需要一些东西,可以给我一些时间来加载新内容,或者检查新内容何时准备好,然后执行另一个代码$'checkoutbtn'.htmlcot。。。问题是,我该怎么做。。。如果我将超时时间设置为2秒,它可能会工作,但有时需要3或5秒才能准备好新信息并提供给用户,这将是一个问题
因此,我需要在用户点击单选按钮后检查新内容何时准备就绪,我该如何做
谢谢。您的前两个单选按钮具有相同的值=1。可能要先解决这个问题。你也拼错了。应该是'div',而不是'duv'。这不是重点,但谢谢…如果能看到您的AJAX功能也会很好,但我只能猜测您设置的事件处理程序没有应用于新内容。考虑在AJAX的success函数中重新应用它们,或者使用jQuery的.on和类似$'.wrapping元素的东西。on'event','.elements',function{},where.wrapping元素是AJAX无法替代的东西。
(function($) {
var pkg = $("#qty").val();
var cot = '<a rel="{handler: \'iframe\', size: {x: 570, y: 550}}" ' +
'class="modal" href="qut.php">' +
'<input type="button" value="Quotation" class="btn btn-small">' +
'</a>';
window.onload = function() {
if (pkg < 4 ) {
// do something
// alert('Checked');
$('#checkoutbtn').html(cot);
}
};
$('input:radio[name="shipping"]').change(
function(){
if ($(this).is(':checked') && $(this).attr("id") == 's1') {
// alert(pkg);
$('#checkoutbtn').html(cot);
} else if ($(this).is(':checked') && $(this).attr("id") == 's2') {
$('#checkoutbtn').html(cot);
}
});
})(jQuery);