通过ajax将php变量带入html标记

时间:2016-07-06 07:55:11

标签: javascript php html ajax

所以每当我点击一个表格行时,我都希望根据我数据库中的数据自动检查这些框。我目前正在使用AJAX脚本进行此表行单击,但是,我无法弄清楚如何将php变量值转移到我的主文件的php变量上并替换值,来自我的其他php文件,我正在执行AJAX php代码。

这是我的主文件复选框。

<input type="checkbox" name="skincareinuse[]" value="Lotion" <?php if(in_array("Lotion",$skincareinuse)) { ?> checked="checked" <?php } ?>/>Lotion<br>

这是我的另一个php文件,其中我的AJAX脚本正在从中绘制值。我做了爆炸并将它们存储在php变量中。

$skincareinuse=explode(",",$row['skincarecurrentlyinuse']);

问题是在我的AJAX脚本从中绘制值的php文件中,变量$ skincareinuse无法更新到我的主php文件中的$ skincareinuse。 让我们说即使我能够使用JSON来实现价值,我如何将JSON编码为javascript来存储呢? 对不起,如果我没有解释,请帮忙!

@Iceman,是否可以在ajax脚本中运行.ajax函数?

function showconsultationdata(str) { //face e.g and checkboxes for that date selected.
var xmlhttp;
if (str == "") {
    document.getElementById("txtHint2").innerHTML = "";
    return;
} else { 
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          document.getElementById("txtHint2").innerHTML = xmlhttp.responseText;                                       
          var a = JSON.parse($(xmlhttp.responseText).filter('#arrayoutput').html()); 
          $("textarea#skinconditionremarks").val(a.skinconditionremarks);
          $("textarea#skincareremarks").val(a.skincareremarks);

        $.ajax({
           url: "BAConsultRecordsAJAX.php"
         })
         .done(function(data) {
           console.log(data);
           selectTestAnswer(data.key + "[]", data.value)
         })
         .fail(function() {
           alert("error");
         })

        }
    }
    xmlhttp.open("GET","BAConsultRecordsAJAX.php?q="+str,true);
    xmlhttp.send();
}
}

1 个答案:

答案 0 :(得分:1)

实施例

x
$('#mybutton').click(function() {
  $.ajax({
      //sample json, replace with your data
      url: "http://echo.jsontest.com/key/skincareinuse/value/Lotion"
    })
    //if data retrieval was successfull
    .done(function(data) {
      console.log(data);
      //got data as json from server. NOw lets update the page(DOM).
      selectTestAnswer(data.key + "[]", data.value)
    })
    //if data retrieval was a failure
    .fail(function() {
      alert("error");
    })
});
//a simple function that if called with say with skincareinuse[] and Lotion marks the corresponding checkbox.
var selectTestAnswer = function(chkbox, value) {
  $("[name='" + chkbox + "']").each(function() {
    if ($(this).val() == value)
      $(this).attr('checked', true);
    else
    if ($(this).attr('checked') == true)
      $(this).attr('checked', false);
  });
}

我已经演示了一个示例,其中ajax从服务器读取数据(此处为测试URL),然后相应地更新(即检查框)。

这是一个关于如何从AJAX进行更新的示例。我建议你阅读AJAX的工作原理。