javascript - jQuery 数据表清除标题中的单选按钮

标签 javascript jquery html dom datatables

我有一个带有 3 个标题的 jQuery 数据表。一个标题包含两个单选按钮,另一个标题包含一个选择框。默认情况下,选中其中一个选项。

当我使用数据表中的搜索功能搜索特定记录时,它不显示选中了哪个单选按钮。我在使用数据表搜索后检查了 DOM,输入元素仍然包含 CHECKED 属性。选择框不受影响。它仍然保留选择框的值。

此外,IE 运行良好。 O_o FF 和 Chrome 无法识别选中的值。

我尝试了 $(selector).datatable().fnDraw();... 没有骰子。

如何让数据表在搜索之后或搜索期间识别选中的属性?有没有人经历过类似的事情?

感谢任何帮助。谢谢。

编辑:经过进一步调查,看起来 fnDraw 正在清除单选按钮的值。

代码

初始化数据表(Javascript)

$.get('store_handler.ashx', { cmd: '9', pubId: pubId, sub: sub }, function(o) {
    $("#researchTableDiv").html(o.datatableContent);

    $('#ResearchTable').dataTable({
        "bJQueryUI": true,
        "bPaginate": false,
        "sScrollY": "450px",
        "bSort": false
    });

    if (o.radioCheck == "single")
        $('#radioSingle').attr("checked", "checked");
    else
        $('#radioSub').attr("checked", "checked");

}, "json");

数据表标题的 HTML (C# .Net)

    htmlString.Append("<thead>");
    htmlString.Append("<tr>");
    htmlString.Append("<th valign=\"middle\" style=\"width: 200px; text-align: left;valign:top;border-right:0px;padding-bottom:0px\" class=\"header\">Filter:&nbsp;");
    htmlString.Append("<select name=\"nonSort2\" style=\"height:20px;padding:0px;margin-top:-0px;font-size:11px\">");
    htmlString.Append("<option value=\"AKLPH\">All</option>");
    htmlString.Append("<option value=\"-\">---------------</option>");
    htmlString.Append("<option value=\"AK\">Alaska</option>");
    htmlString.Append("<option value=\"AL\">Etc...</option>");
    htmlString.Append("</select>");
    htmlString.Append("</th>");
    htmlString.Append("<th align=\"left\" class=\"header\" >");
    if (sub == "0")
    {
        htmlString.Append("<input type=\"radio\" value=\"0\" name=\"rdoSubscription\" id=\"radioSingle\" checked=\"CHECKED\" style=\"margin-left:1px\"/>Single Report");
        htmlString.Append("<input type=\"radio\" value=\"1\" name=\"rdoSubscription\" id=\"radioSub\" onclick=\"getPubDetails('" + pubId + "','1');\" style=\"margin-left:1px\"/>Subscription");
        jOut.Put("radioCheck", "single");
    }
    else
    {
        htmlString.Append("<input type=\"radio\" value=\"0\" name=\"rdoSubscription\" id=\"radioSingle\" onclick=\"getPubDetails('" + pubId + "','0');\" style=\"margin-left:1px\"/>Single Report");
        htmlString.Append("<input type=\"radio\" value=\"1\" name=\"rdoSubscription\" id=\"radioSub\" checked=\"CHECKED\" style=\"margin-left:1px\"/>Subscription");
        jOut.Put("radioCheck", "sub");
    }
    htmlString.Append("</th>");
    htmlString.Append("<th class=\"header\" align=\"center\">Action</th>");
    htmlString.Append("</tr>");
    htmlString.Append("</thead>");

最佳答案

尝试在绘制事件之后设置单选按钮:

$.get('store_handler.ashx', { cmd: '9', pubId: pubId, sub: sub }, function(o) {
$("#researchTableDiv").html(o.datatableContent);

$('#ResearchTable').dataTable({
    "bJQueryUI": true,
    "bPaginate": false,
    "sScrollY": "450px",
    "bSort": false,
    "fnDrawCallback": function() {
      if (o.radioCheck == "single")
        $('#radioSingle').attr("checked", "checked");
      else
        $('#radioSub').attr("checked", "checked");
      }
   }
});


}, "json");

关于javascript - jQuery 数据表清除标题中的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7000707/

相关文章:

jQuery on() 无法正常使用表

jquery - "first element with id=foo"的 jQuery 选择器是怎么来的?

javascript - 用 JavaScript(Esprima.JS) 开发解析器,以 Mozilla AST 格式解析 Haskell 语言

javascript - 如何获取元素顺序号

javascript - 无法读取 Angular 8 自定义 Web 组件中未定义的属性 'bind'

javascript - 为什么当用户点击太快时 jQuery Mobile Simple Dialogue 会卡住?

javascript - 如何在 jQuery 中创建 CSS "ease"的等价项?

javascript - 如何使用 PHP 从 SQL Server 填充 HTML 表单字段

javascript - 无法使用javascript获取xml文件中标签的内容

ASP.NET 身份验证表单不适用于 CSS?