【问题标题】:Javascript composite component id with colons带有冒号的 Javascript 复合组件 ID
【发布时间】:2014-01-21 19:42:03
【问题描述】:

我有一些复合组件,我正在尝试在他的孩子上绑定一些 jquery 事件。最重要的是我想为这个selectoneradio的每个输入绑定事件,这些输入在selectoneradio id之后得到名字,不幸的是这个id可以包含':'。我将 : 替换为 \: 但它总是说

Error: Syntax error, unrecognized expression: input[name=form1\\:j_idt47\\:radioSelect]

代码:

cc:implementation>
        <h:selectOneRadio id="#{cc.attrs.id}"
                          value="#{cc.attrs.value}" required="#{cc.attrs.required}">

            <cc:insertChildren/>
        </h:selectOneRadio>

<script type="text/javascript">
        /* <![CDATA[ */
        var name = '#{cc.clientId}:#{cc.attrs.id}'.replace(/:/g,'\\\\:');
        jQuery('input[name=' + name + ']').click(function() {
            console.log("click");
        });
        /* ]]> */
</script>

代替会有随机数的甚至

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    尝试像这样访问它们:

    $('[id='+ID+']')
    
    or
    
    $('[id=ID]')
    

    【讨论】:

    • 身份证?我应该为此做一些变量吗?如果是,我怎样才能获得那些 ID?我编辑了一点代码。
    • 如果你能用 dom 创建一些小提琴会很棒
    • 也许我只是问了个坏问题,找到特定 selectOneRadio 的所有输入类型收音机有多简单?
    • 我想我找到了解决办法,问题就在这里 replace(/:/g,'\\\\:');它应该是 replace(":","\\:");
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 1970-01-01
    相关资源
    最近更新 更多