問題は、最初の選択ボックスをクリックすると、値が表示された後、2番目の選択ボックスがトリガーされることです。Ajaxで実装しましたが、正常にレンダリングされましたが、他のテキストフィールドの値がなくなっています。どうすればrespondehtml(success ajax call)の特定の部分をレンダリングできますか?
$(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を表示しています。