我的问题是当我点击我的第一个选择框时,有一个值后,它会触发第二个选择框。我在 Ajax 中实现它,但成功呈现,但我的其他文本字段值消失了。我怎么能只渲染响应 html 的特定部分(成功的 ajax 调用)?
$(document).ready(function(){
if ($('#product_category').val() == 'Choose Category')
document.getElementById('product_subcategory').disabled = true;
$('#product_category').change(function () {
if ($('#product_category').val() == 'Choose Category')
document.getElementById('product_subcategory').disabled = true;
else
document.getElementById('product_subcategory').disabled = false;
data = $('#product_category').val();
//alert(data);
var param = 'category_name=' + data;
$.ajax({
url: MYURL,
data: param,
success: function(result) {
alert('Choose product subcategory');
alert(param);
$('body').html('');
$('body').html(result);
}
});
// window.location = MYURL?category_name="+data;
});
$('#product_subcategory').change(function () {
data = $('#product_subcategory').val();
// paramCategory = $(document).getUrlParam('category_name');
// alert(paramCategory);
$.get(MYURL, function(data){
alert("Data Loaded: " + data);
});
//window.location = MYURL?subcategory_name=" + data;
});
});
在我的表单中,我使用 $_GET['category_name'] 来获取我的值 Ajax 返回值。我在firebug中调试,它成功了。我试图再次渲染 html,但是我之前的 textarea 值和 textfiel 值都消失了,因为我所做的是 $('body').html(''); $('body').html(result);, 那么,我如何设法获得成功的 ajax 返回值,并在 PHP 中使用它。
任何困惑,请告诉我...... 感谢您抽出时间。
嗯,我正在使用 div 并在返回成功 ajax 调用时显示 Div。
最佳答案
问题就在这里
$('body').html('');
$('body').html(result);
您正在清空整个 body 并插入新结果。你必须把它改成
$('#second_select_box_id').html(result);
关于php - Ajax成功后渲染html的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12740667/