你好我需要这段代码的帮助。

我想做的是当我单击(例如)单选按钮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]")

通过输入名称属性选择它们

07-24 17:49