Javascript ajax返回变量inside.prepend()

Javascript ajax返回变量inside.prepend(),javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个选择框,我想添加到.prepend中的字符串中。我无法在选择框及其选项更改时硬编码。为了克服这一点,我使用ajax调用在php脚本中组装选择框及其选项值,然后将其发送回,然后尝试使用此返回变量作为HTML,该HTML需要连接到prepend中的硬编码HTML。啊!这很困难,可能是一个简单的语法错误,但我似乎找不到解决方案 我已经尝试在测试版本上使用PHP的htmlspecialchars。当这回来,我试图使用concat,它不工作,但如果我只是硬编码相同的事情它做 我想我需要的是一块代码

我有一个选择框,我想添加到.prepend中的字符串中。我无法在选择框及其选项更改时硬编码。为了克服这一点,我使用ajax调用在php脚本中组装选择框及其选项值,然后将其发送回,然后尝试使用此返回变量作为HTML,该HTML需要连接到prepend中的硬编码HTML。啊!这很困难,可能是一个简单的语法错误,但我似乎找不到解决方案

我已经尝试在测试版本上使用PHP的htmlspecialchars。当这回来,我试图使用concat,它不工作,但如果我只是硬编码相同的事情它做

我想我需要的是一块代码,它在PHP端使用while循环生成,以转换为可读的HTML,我可以在.prepend内将其转换为硬编码的HTML。不混乱,对吗

这里是我要补充的地方

$(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>";

任何帮助都会很好。谢谢

我相信这是一个PHP变量:

echo "<option value='$ports_f[account_type_id]'>$ports_f[account_type]</option>";
注1:请避免使用mysql_*函数,因为该库已弃用。请使用mysqli_*或PDO

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


事实上,问题在于你的回音陈述。在处理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

我希望这能起作用

请避免使用mysql函数,因为该库已被弃用。请使用mysqli_*或PDO。我认为您的后端php应该将json返回到前端,但不是htmlPraveen的一部分,谢谢。我从一本书开始学习PHP,我想它已经过时了,所以一切都是mysql。。。我计划返回并将代码更新到mysqli。然而,当我尝试去做的时候,什么都不起作用。你知道怎么解决这个问题吗,我猜是命令行。我只在这里呆了半年,所以我仍在解决问题。智能解决方案。虽然这巩固了盒子,但它仍然不起作用。最奇怪的事。我采用了你的解决方案,让它在htmlspecialchars中回显,回显到我页面上的一个div中,复制了这个html字符串,然后在prepend中使用这个字符串,它可以工作lol。出于某种原因,它不喜欢变量版本???我到底错过了什么???一定要检查你的$outputStr值。。。php变量是否正确地追加到字符串中,我知道了。感谢您的解决方案,因为它是正确的。我试图在ajax括号外执行前置,因此它无法识别变量。把它移到里面,它就工作了。非常感谢。
$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