2

我正在写一个 js 文件。这是我到目前为止所尝试的。(我的代码有点长,但这是我想要做的)

var popUpList= $ ('<input type="radio">A<br> <input type="radio">B<br> <input type="radio">C');

var showPopUpButton=$('<button type="button">Select a Letter</button>'); 
// showPopUpButton is appended to the body
showPopUpButton.click(function() {
      alert(popUpList);
   });

当我单击 showPopUpButton 时,警报窗口显示 [object Object],我猜这意味着变量 popUpList 为空。我在javascript中找不到如何做到这一点。

我也按照这里的建议尝试了 jQuery Create a popup with radio box using js

var popUpList= $ ('<input type="radio">A<br> <input type="radio">B<br> <input type="radio">C ');
    showPopUpButton.click(function() {
          popUpList.dialog();
       });

现在,按钮显示但不在弹出窗口内!而且都是叠加的。任何帮助将不胜感激。

谢谢!

4

2 回答 2

6

您需要将<input>s 包装在容器元素中,例如:<div>,因为dialog()适用于单个元素。

在您的代码中,您要求该dialog()函数处理多个 DOM 对象,因此它将失败。

这是代码:

var popUpList = $('<div><input type="radio">A<br><input type="radio">B<br><input type="radio">C</div>');

showPopUpButton.click(function() {
    popUpList.dialog();
});

在这里查看它的实际应用。自己试试。:)

于 2013-08-07T21:47:46.753 回答
0

将您的输入更改为 HTML 字符串,解析为 HTML 并插入到 #dialog 元素中。

var popUpList= '<input type="radio">A<br> <input type="radio">B<br> <input type="radio">C',
    dialogHtml = $.parseHTML(popUpList);


showPopUpButton.click(function() {      
      $( "#dialog" ).html(dialogHtml).dialog();
   });
于 2013-08-07T21:30:02.843 回答