2015-05-13 25 views
-1

的JavaScript代码:如何在复选框附近获取文本?

function loadsims(){ 
    var i = 1; 
    $.ajax({ url: 'simulationcontent.php', 
     data: {action:'test'}, 
     type: 'post', 
     success: function(output) { 
      var a = JSON.parse(output); 
      var b = a.length; 
      var i; 
      for (i = 0; i < b;i++){ 
      console.log(a[i]['idi']); 
      console.log(a[i]['simname']); 

      if (a[i]['idi'] != 0) 
      { 
      for (var j=0 ;j < 1;j++) 
       { 
        var cbxval = a[i]['simname']; 
        var chckbx = document.createElement("input"); 
        document.getElementById('checkboxdiv').appendChild(chckbx); 
        chckbx.type = "checkbox"; 
        chckbx.id = "simnamecbx"+i; 
        chckbx.name = "simnamecbx"; 
        chckbx.value = a[i]['idi']; 
        chckbx.appendChild(document.createTextNode(cbxval)); 
       } 
      } 
     } 
    } 
}); 
} 

我可以得到“cbxval”的值,它被认为是在检查元素..但我没有看到创建的HTML页面中的文本。我在这里犯了什么错误?

+0

不能添加文本复选框。你需要创建一个单独的标签。 – Daniel

+0

您不要将文本节点作为子项追加。你把它放在一边。 'document.getElementById(“checkboxdiv”)。appendChild(document.createTextNode(cbxval));' –

+0

你使用jQuery吗? – j08691

回答

0

而不是将textnode添加为孩子添加它作为兄弟。

chckbx.parentNode.insertBefore(document.createTextNode("label"), chckbx.nextSibling); 

的jsfiddle链接https://jsfiddle.net/xzrsmbLL/