【问题标题】:create a pop-up window and display a list of radio buttons using javascript使用 javascript 创建一个弹出窗口并显示单选按钮列表
【发布时间】:2013-08-08 05:47:46
【问题描述】:

我正在写一个 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();
       });

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

谢谢!

【问题讨论】:

    标签: javascript jquery popup radio-button


    【解决方案1】:

    您需要将&lt;input&gt;s 包装在一个容器元素中,例如:&lt;div&gt;,因为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();
    });
    

    看到它在行动here。自己试试。 :)

    【讨论】:

      【解决方案2】:

      将您的输入更改为 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();
         });
      

      【讨论】:

      • 感谢您的回答@Christopher Marshall。但是什么都没有显示!我必须在 html 行中添加 id="dialog" 对吗?反正不管有没有这个id,弹窗还是不显示
      • 是的,你的选择器引用了一个 div,id 为 dialog。所以
        ,检查你的控制台是否有任何错误,并确保你正在加载 jQuery UI
      • 控制台没有显示任何错误,我确实有 jQuery UI。我什至尝试了一个简单的 html 消息 var test= $ ('

        This is a test');还是不行

      • 结帐 cychois 答案:}
      猜你喜欢
      相关资源
      最近更新 更多
      热门标签