jQuery:从数据库加载ID标记

jQuery:从数据库加载ID标记,jquery,database,radio-button,checked,Jquery,Database,Radio Button,Checked,所以我有很多单选按钮,名称相同,但ID不同,我不想在页面加载时选择其中一个。所需按钮的ID将保存到数据库中。我已经为实际的ajax调用尝试了这种解决方案,但可惜没有成功 $.ajax({ type: "POST", url: "load_config.php", dataType: "json", data: dataString, success: function(data) {

所以我有很多单选按钮,名称相同,但ID不同,我不想在页面加载时选择其中一个。所需按钮的ID将保存到数据库中。我已经为实际的ajax调用尝试了这种解决方案,但可惜没有成功

$.ajax({
        type: "POST",
        url: "load_config.php",
        dataType: "json",
        data: dataString,
        success: function(data)
        {
            var buttonID = "#"+data.buttonID; // data.buttonID = "button5"
            $(buttonID).attr("checked", true);
        }
});
HTML部分就是这样,除了有更多的按钮外:

<input type="radio" id="button1" name="example" value="value1"/>
<input type="radio" id="button2" name="example" value="value2"/>
<input type="radio" id="button3" name="example" value="value3"/>
<input type="radio" id="button4" name="example" value="value4"/>
<input type="radio" id="button5" name="example" value="value5"/>

再次检查您的JSON返回,您的总体方法是正确的,您可以在此处进行测试:

我敢打赌你的
数据.buttonID
与你想象的不完全一样,或者你的代码没有在
文档中运行。ready
,如下所示:

$(function() {
  $.ajax({
        type: "POST",
        url: "load_config.php",
        dataType: "json",
        data: dataString,
        success: function(data)
        {
            var buttonID = "#"+data.buttonID; // data.buttonID = "button5"
            $(buttonID).attr("checked", true);
        }
  });
});

如果它没有在
document.ready
中运行,并且AJAX调用在元素准备就绪之前完成,那么
$(“#按钮5”)
选择器将找不到任何要检查的内容。或者,如果您可以在呈现页面时只在正确的
内呈现一个
checked=“checked”
,并完全消除AJAX调用,则更好。

尝试检查数据响应:

$(function() {
  $.ajax({
        type: "POST",
        url: "load_config.php",
        dataType: "json",
        data: dataString,
        success: function(data)
        {
            alert(data['buttonID']);
        }
  });
});
如果未定义,请检查您的php或我的上一个解决方案,否则请尝试:

$(function() {
  $.ajax({
        type: "POST",
        url: "load_config.php",
        dataType: "json",
        data: dataString,
        success: function(data)
        {
            $("#"+data['buttonID']).attr("checked",true);
        }
  });
});
有一次我在将Json返回到jquery时遇到了一个问题,Json字符串返回时带有许多斜杠。。。 如果第一个解决方案出现错误,请尝试此方法(这将报告从服务器返回的字符串,而不解码json):


对不起我的英语。告诉我它是否有效…

如果有错误消息,您会收到什么消息?请尝试以下JSFIDLE:。它在FF3.6中对我有效。您的AJAX调用成功了吗?您的数据是否正确?这似乎是正确的,请仔细检查
data.buttonID
是否为
button5
,或者您的html中是否有另一个名为
button5
ID
。哦,糟透了。你说得对,data.buttonID返回时未定义。我确信我以前检查过,但后来修改过并打错了。有点尴尬!不过还是要谢谢你:Dit是个打字错误,我完全错过了,不过还是要谢谢你的建议。
$(function() {
  $.ajax({
        type: "POST",
        url: "load_config.php",
        dataType: "text",
        data: dataString,
        success: function(data)
        {
            alert(data);
        }
  });
});