你好我需要这段代码的帮助。
我想做的是当我单击(例如)单选按钮1时,该按钮值将显示在浏览器中。我有三个单选按钮。
这是我的ajax查询:
function updatepayment(this.value)()
var ajaxResponse = new Object();
$(document).ready(function () {
$('.rmr').click(function () {
var rbVal = $(this).val();
var myContent;
if (ajaxResponse[rbVal]) { //in cache
myContent = ajaxResponse[rbVal];
$("#contentcontainer").html(myContent);
}
else { // not in cache
var urlForAjaxCall = "include/function.php" + rbVal + ".html";
$.post(urlForAjaxCall, function (myContent) {
ajaxResponse[rbVal] = myContent;
$("#contentcontainer").html(myContent);
});
}
});
});
最佳答案
由于您总是在函数中重新声明ajaxResponse,因此您的缓存检查将始终为false。应该全局声明ajaxResponse。
而且您实际上并不需要post函数(因为您不发布任何数据),您可以只使用.load函数。
您不需要包装$(document).ready函数的函数
var ajaxResponse = new Object();
$(document).ready(function(){
$('.rmr').click(function (){
var rbVal = $(this).val();
var myContent;
if (ajaxResponse[rbVal])
{ //in cache
$("#contentcontainer").html( ajaxResponse[rbVal] );
}
else
{ // not in cache
var urlForAjaxCall = "include/function.php" + rbVal + ".html";
$("#contentcontainer").load(urlForAjaxCall, function (myContent)
{
//Extra processing can be done here, like your cache
ajaxResponse[rbVal] = myContent;
});
}
});
});
编辑:
在看到您对OP的评论后
您试图按类名“ rmr”选择单选按钮,但未在标签上设置单选按钮
你需要:
<input class="rmr" type="radio" name="rmr" id="payment1" value="3" onclick="updatepayment(this.value)" /> <br>
<input class="rmr" type="radio" name="rmr" id="payment2" value="5.5" onclick="updatepayment(this.value)" /><br>
<input class="rmr" type="radio" name="rmr" id="payment4" value="10" onclick="updatepayment(this.value)" /><br>
或者你可以使用
$("input[name=rmr]")
通过输入名称属性选择它们