ajax返回变量.prepend()

时间:2015-08-28 07:39:11

标签: javascript php jquery html ajax

我有一个选择框,我想添加到.prepend()中的字符串中。我无法对选择框及其选项进行硬编码。为了解决这个问题,我使用ajax调用在php脚本中组装选择框及其选项值,然后将其发回,然后尝试将此返回变量用作需要连接到我的前置内部的硬编码HTML的HTML。尔加!这证明很难,可能是一个简单的语法错误,但我似乎无法找到解决方案。

我尝试在测试版上使用PHP的htmlspecialchars。当这回来并且我试图用来连接时,它不起作用,但是如果我只是硬编码相同的东西它。

我想我需要的是一个代码块,它在PHP端生成while循环,转换为可读的HTML,我可以连接到我的硬编码HTML里面.prepend()。不要混淆吧?

这是我追加的地方

$(combidID).prepend('ajax return variable');

PHP选择框组件,需要返回并在变量中捕获。

  echo "<select class='typenew' style='margin-top:13px;'><option id='$selID'>$sel</option>";
$ports_s = "SELECT * FROM FF_Account_Types ORDER BY account_type";
$ports_q = mysql_query($ports_s);
while($ports_f = mysql_fetch_array($ports_q)){
echo "<option value='$ports_f[account_type_id]'>$ports_f[account_type]</option>";
} echo "</select>";

任何帮助都会很精彩。谢谢

2 个答案:

答案 0 :(得分:0)

我相信这是一个PHP变量:

SortedMap

您需要将它们包含在echo "<option value='$ports_f[account_type_id]'>$ports_f[account_type]</option>"; 内。所以请这样做:

{}
  

注1:请避免使用echo "<option value='{$ports_f[account_type_id]}'>{$ports_f[account_type]}</option>"; 函数,因为不推荐使用该库。请使用mysql_*mysqli_*

     

注2:请确保只输出PHP代码或数据,并且不输出任何HTML,以保持表示和逻辑之间的分离。

答案 1 :(得分:0)

实际上问题出在你的echo语句中。在处理ajax请求时,您必须尝试仅回显一次数据。 因此,要解决您的问题,请尝试使用while循环从您的数据创建一个字符串 在循环完成之后回显字符串。然后你会得到完整的选择框html

$outputStr =  "<select class='typenew' style='margin-top:13px;'><option id='$selID'>$sel</option>";
$ports_s = "SELECT * FROM FF_Account_Types ORDER BY account_type";
$ports_q = mysql_query($ports_s);
while($ports_f = mysql_fetch_array($ports_q)){
$outputStr .= "<option value='$ports_f[account_type_id]'>$ports_f[account_type]</option>";
} $outputStr .=  "</select>";
echo $outputStr

我希望这会起作用