我正在尝试使用javascript加入两个html代码块并在之后调用对话框。我已经做了一些研究并尝试了concat和+但这不起作用。这是我的代码的简化版本:
var html =
"<div class=\"dialog-form\" title=\"Edit\">" +
"<form class=\"insertaplato\" method=\"POST\" action=\"edit.php\">" +
"<fieldset>" +
"<label>Plate: </label> <input type=\"text\" value=\"" + plate + "\" >" +
"<label>Price: </label><input type=\"text\" value=\""+ price +"\" >";
"Spicy: <br> ";
if (spicy==1)
{var varP=
"<label> Yes </label><input value= \"yes\" type=\"radio\" checked>"+
"<label> No </label><input value=\"no\"><br><br>";
} else {
var varP=
"<label> Yes </label><input value=\"yes\" type=\"radio\">"+
"<label> No </label><input value=\"no\" checked type=\"radio\"><br><br>";
}
var html2 = "<br>"+
"<br><input id=\"insert\" type=\"submit\" value=\"Edit\" name=\"send\"> " +
"</fieldset>"+
"</form>"+
"</div>";
var div = $(html)+$(varP)+$(html2);
div.dialog(
{
title:"Edit Plate",
close: destroy_this_dialog
});
现在,对话框还没有出现。如果我只使用第一个html变量执行此操作就会出现问题,但是当我尝试添加或连接其他html变量时,没有任何反应。我显然不是应该使用这些变量。有任何想法吗?
答案 0 :(得分:1)
连接字符串而不是jQuery对象
var div = $(html + varP + html2);
div.dialog(
{
title:"Edit Plate",
close: destroy_this_dialog
});
答案 1 :(得分:0)
删除您要将各个部分附加在一起的$
。您希望将字符串附加到单个对象中。
var div = $(html + varP + html2);
答案 2 :(得分:0)
intead of
var div = $(html)+ $(varP)+ $(html2);
div.dialog(
{ 标题:“编辑板块”, 关闭:destroy_this_dialog });
试试这个:
var div = html + varP + html2;
$('.dialog-form').dialog(
{ 标题:“编辑板块”, 关闭:destroy_this_dialog });