javascript - 文本未标记

标签 javascript php jquery html markup

我正在编写一个页面,允许锦标赛总监 (TD) 将玩家添加到事件中。当 TD 搜索玩家时,我希望搜索结果显示在搜索输入下方的键盘上(无需刷新页面)。 在这个阶段,我有 2 个 php 页面和 1 个 js 页面,并且进行了实时搜索,但输出没有被标记。我已经编写了一段代码来将 PHP $_SESSION[''] 数组转换为 javascript 数组,但是我的大脑正在煎熬,我不知道从这里该去哪里。

我实际上希望将此代码的处理版本作为输出(假设 SQL 仅返回 1 个名为 John Smith 的玩家)

<tr></td> 123 </td><td> John Smith </td></tr>

我的 php 主页面有:

<table border='1px'>
<tr><th colspan='6'> <?php echo ($eName . " - " . $vn); ?></th></tr>
<tr><th>Player ID</th>
<th>Player Name</th>
<th>Place</th>
<th>Points</th>
<th>Cash</th>
<th>Ticket?</th></tr>

<tr><td colspan='3'>Search <input type='text' id='newsearch'</input>
</table>
<br>

<div id="newsearch-data"> </div>

<script>
 var players = [];   
</script>    

<?php

//Makes php array into js array
foreach ($_SESSION['players'] as $id){
echo "<script> players.push('" . $id . "') </script>";
}

?>
<script src="http://code.jquery.com/jquery-1.8.0.min.js"> </script>
<script src="global.js"> </script>

js页面:

$('input#newsearch').on('keyup', function(){
    var newsearch = $('input#newsearch').val();
    if ($.trim(newsearch)!= "") {
        $.post('newsearch.php', {newsearch: newsearch}, function(data) {
            $('div#newsearch-data').text(data);
        });
    }
});

和第二个 php 页面

<?php
  session_start();
  unset($_SESSION['players']);
if (isset($_POST['newsearch']) === true && empty($_POST['newsearch'] === false)){
require 'dbconnect.php';

$term = $_POST['newsearch'];
$terms = "%" . $term . "%";

$_SESSION['players'] = array();

$query = ("SELECT * FROM players WHERE Username LIKE '$terms'");
$run_query = mysqli_query($dbcon, $query);

        while ($dbsearch = mysqli_fetch_assoc($run_query))
         {
         array_push ($_SESSION['players'],$dbsearch['PlayerID']);
           echo "<tr><td>" . $dbsearch['PlayerID'] . "</tr></td>";

         }}?

如何在 html 表格上输出新行而不是原始 html 代码?

最佳答案

替换$('div#newsearch-data').text(data);

$('div#newsearch-data').html(data);

$.text() 对输入字符串进行转义,当您知道输入是字符串并且希望“按原样”预设它时,应该使用它。如果输入包含您想要注入(inject) DOM 的实际 HTML,$.html() 是您的 friend :-)

关于javascript - 文本未标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32200939/

相关文章:

javascript - HTML单元格DOM获取属性值-排序table.js

PHP MYSQL : how to keep the variable alive till connection ends

PHP 使用 DOM 获取 anchor 并修改它们

php - 是否可以将 YAML 文件注入(inject) Symfony 中的服务?

javascript - jQuery 标签 "Undefined is Not a Function"

javascript - 弃用的 Javascript 操作系统检测技术

javascript - 如何获取要素图层的所有字段名称

javascript - jqTree从Json中获取树: "Uncaught TypeError: $(...).tree is not a function"

javascript - 单击内部 div 时防止单击处理程序触发

javascript - 内容 url 在 firefox 浏览器上不显示图像,是否有不需要删除 alt 标签的解决方法?