1

我正在尝试使用 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 变量执行此操作,它会出现好的,但是当我尝试添加或连接其他变量时,什么也没有发生。我显然没有按我应该的那样使用这些变量。有任何想法吗?

4

3 回答 3

1

连接字符串而不是 jQuery 对象

  var div = $(html + varP + html2);

  div.dialog(
  {
    title:"Edit Plate",
    close: destroy_this_dialog
   });
于 2013-03-14T13:13:56.927 回答
0

删除$将碎片附加在一起的位置。您想将字符串附加到单个对象中。

 var div = $(html + varP + html2);
于 2013-03-14T13:22:32.403 回答
0

而不是

变量 div = $(html)+$(varP)+$(html2);

  div.dialog(

{ 标题:“编辑板”,关闭:destroy_this_dialog });

尝试这个:

变量 div = html+varP+html2;

  $('.dialog-form').dialog(

{ 标题:“编辑板”,关闭:destroy_this_dialog });

于 2013-03-14T13:52:09.337 回答