首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery属性选择器不适用于数据属性。

jquery属性选择器不适用于数据属性。
EN

Stack Overflow用户
提问于 2020-07-17 09:21:47
回答 1查看 484关注 0票数 0

我知道这可能是Selecting element by data attributejQuery how to find an element based on a data-attribute value?问题的重复

但我仍然不能选择属性“数据-值”存在的所有元素。

问题: I期望语句B) $('[data-value]')$('*[data-value]*')应该返回所有具有数据属性“数据-值”的元素,但是它什么也不返回。

然而,语句A) $('#openingBalAccount').data('value')得到的结果"ACC-2“。

如果上面的语句A有效,那么报表B也应该工作,但它没有发生。

下面是Chrome工具屏幕,将屏幕上的前2条语句视为上面的语句A,rest为报表B。如上文所述,如果报表A有效,则报表B也应工作。

Dev工具示例应该足以识别任何问题,但是如果您仍然坚持使用代码,它就在这里。

Jquery语句来设置数据值

代码语言:javascript
复制
$('#accountsModalSelect').on('click', function onAccountsModalSelect() {
    let rowData = $('#accountsModalSelect').data('selected')
    if (rowData) $('.accountSource').val(rowData.description).data('value', rowData.account)
    $('#accountsModal').modal('hide')
})

格式的HTML代码

代码语言:javascript
复制
                    form#openingBalForm
                        input.form-control#openingBalUpdateType(type='hidden')
                        input.form-control#formtab(type='hidden' value='openingbaltab')
                        .row.form-group
                            .col-4
                                labal(for='openingBalFinYear') Financial Year
                            .col
                                input.form-control#openingBalFinYear(name='openingBalFinYear' type='text' )
                        .row.form-group
                            .col-4
                                labal(for='openingBalAccount') Account
                            .col
                                .input-group
                                    input.form-control.accountSource#openingBalAccount(name='openingBalAccount' type='text' )
                                    .input-group-append#openingBalAccountSearch
                                        .input-group-text
                                            .fas.fa-search
                        .row.form-group
                            .col-4
                                labal(for='openingBalAmount')  Amount
                            .col
                                input.form-control#openingBalAmount(name='openingBalAmount' type='number')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-17 09:48:58

如果要这样做,还必须将html-属性添加到元素中。无法访问内部存储的数据。

代码语言:javascript
复制
$('#accountsModalSelect').on('click', function onAccountsModalSelect() {
    let rowData = $('#accountsModalSelect').data('selected')
    if (rowData) {
        $('.accountSource')
            .val(rowData.description)
            .data('value', rowData.account)
            .attr('data-value', rowData.account) // Add this
    }
    $('#accountsModal').modal('hide')
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62951029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档