【问题标题】:Changing aria-label for ascending and descending states on a sortable table with Jquery使用 Jquery 更改可排序表上升序和降序状态的 aria-label
【发布时间】:2015-11-23 16:19:45
【问题描述】:

您好,我正在尝试更改可排序列上的 aria-labels。我正在使用 Jquery。我可以让标签改变,但我不知道如何改变它,以便标签会根据它是升序还是降序而改变。到目前为止,它会更改标签,但是当您单击箭头时,它会默认返回来自数据表 jquery 的原始标签。

    $(document).ready(function(){

var x = $("div.masthead a:first").attr('href');
var lang = x.slice(-2);

if (lang==='fr'){
var sSearchfr = "filtre";
var sInfoEmptyfr = "Résultats 0 à 0 sur 0";
var sInfofr = "Résultats _START_ à _END_ sur _TOTAL_";
var sZeroRecordsfr = "Aucun résultat pour cette recherche. Il se peut que le nom recherché soit mal orthographié ou que le député en question n’ait présenté aucune demande de remboursement depuis deux ans";
var sInfoFilteredfr = "filtrés sur  _MAX_";
var sortdn = ": Trier les résultats par ordre croissant";
var sortup = ": Trier les résultats par ordre décroissant";
}
$('#form1\\:memberRidingList').DataTable({
     "oLanguage": {
             "sInfo": sInfofr,
          "sInfoEmpty": sInfoEmptyfr,
          "sZeroRecords": sZeroRecordsfr,
          "sInfoFiltered": sInfoFilteredfr,
          "sSearch": sSearchfr,

           "oAria": {
        "sSortAscending": sortup,
        "sSortDescending": sortdn
        }
    },
"paging":   false
} );

$("table.display tbody tr:nth-child(even)").addClass("even");

if (lang==='en'){

$(".dataTables_filter label").html('Filter:<input type="search" class placeholder aria-controls="form1:memberRidingList">');    //add new label 'filter' replace 'Search'

}

});

我应该根据匹配的html和标签名称来更改它吗? 谢谢

【问题讨论】:

    标签: jquery sorting datatables wai-aria


    【解决方案1】:

    解决方案

    您可以使用language 选项并使用aria.sortAscendingaria.sortDescending 属性自定义文本。

    var table = $('#example').DataTable({
       "language": {
            "aria": {
                "sortAscending":  ": Activate to sort column ascending",
                "sortDescending": ": Activate to sort column descending"
            }           
       }
    });
    

    演示

    有关代码和演示,请参阅this jsFiddle

    【讨论】:

    • 嗨,我必须为双语网站做这件事。现在我正在使用语言检测并使用 'if' 'else' 来加载正确的脚本。否则我会使用数据表。我在我的 else 中尝试过,但它不起作用并打破了桌子。我需要在“显示 48 个条目中的 1 到 48 个”上对 oLanguage 做同样的事情。
    • 这种方法对我来说是法语。但是在英语上我不得不使用 jquery 选择器并通过它更新 html。
    • @steve,为什么不在这里也使用 if..else,或者使用简单的三元来完成这项工作?
    • @davidkonrad 嗨,大卫,我用我现在的工作更新了代码。我不确定“三元”如何工作?谢谢
    猜你喜欢
    • 2018-10-08
    • 1970-01-01
    • 2017-01-31
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多