JQuery移动单选按钮在选择其他按钮时保持选中状态.使用.html函数

JQuery Mobile Radio Buttons stay selected when selecting other buttons. Using .html function

本文关键字:状态 使用 函数 html 单选按钮 移动 选择 按钮 其他 JQuery      更新时间:2023-09-26

我似乎弄不清楚,也找不到任何有关这方面的信息。我使用. HTML()函数生成动态HTML,以单选按钮格式列出相机选择。创建html的代码工作正常,AFAIK:

var showcameras = function()
{
    var html = "<fieldset data-role='controlgroup' data-type='horizontal'>";
    for (var i = 0; i < sessiondetails["Camera-Count"]; i++)
    {
        var name;
        var namelabel = "Camera-Names_" + i;
        var idlabel = "Camera-ID_" + i;
        if (sessiondetails[namelabel]==="")
            name = "Camera " + (i+1);
        else
            name = sessiondetails[namelabel];
        html += "<input type='radio' name='"+name+"' id='"+sessiondetails[idlabel]+"' value='"+sessiondetails[idlabel]+"'>";
        html += "<label for='"+sessiondetails[idlabel]+"'>"+name+"</label>";
    }
    html += "</fieldset>";
    window.$("#camselection").html(html).trigger("create");
};

它创建的HTML:

    <fieldset data-role='controlgroup' data-type='horizontal'>
    <input type='radio' name='test1' id='10000' value='10000'>
    <label for='10000'>test1</label>
    <input type='radio' name='Camera 2' id='10001' value='10001'>
    <label for='10001'>Camera 2</label>
    <input type='radio' name='Camera 3' id='10002' value='10002'>
    <label for='10002'>Camera 3</label>
    <input type='radio' name='Camera 4' id='10003' value='10003'>
    <label for='10003'>Camera 4</label>
    </fieldset>

这是"camselection"div标签的HTML:

    <div id="camselection" data-role="fieldcontain"></div>

问题来了,我一次可以选择多个单选按钮。对我来说没有意义,因为它们在同一个字段集中。我甚至试过把onClick("刷新")放在每个按钮上,但它不起作用。任何帮助都非常感谢!

为了只选择一个单选按钮,它们必须具有相同的名称。

<fieldset data-role='controlgroup' data-type='horizontal'>
  <input type='radio' name='camera' id='c10000' value='10000'>
  <label for='c10000'>test1</label>
  <input type='radio' name='camera' id='c10001' value='10001'>
  <label for='c10001'>Camera 2</label>
  <input type='radio' name='camera' id='c10002' value='10002'>
  <label for='c10002'>Camera 3</label>
  <input type='radio' name='camera' id='c10003' value='10003'>
  <label for='c10003'>Camera 4</label>
</fieldset>

id属性以字母开头时效果更好。

http://www.w3schools.com/html/html_forms.asp

单选按钮分组由name属性定义。你的按钮都有不同的名字,所以它们是不同组的一部分。

应该是这样的:

<fieldset data-role='controlgroup' data-type='horizontal'>
<input type='radio' name='camera' id='10000' value='10000'>
<label for='10000'>test1</label>
<input type='radio' name='camera' id='10001' value='10001'>
<label for='10001'>Camera 2</label>
<input type='radio' name='camera' id='10002' value='10002'>
<label for='10002'>Camera 3</label>
<input type='radio' name='camera' id='10003' value='10003'>
<label for='10003'>Camera 4</label>
</fieldset>

尝试给单选按钮相同的名称。然后,您将只能选择一个单选按钮。