jQuery Mobile - 使用复选框数组时,将标签附加到包含方括号的ID的输入会使页面呈现失败

有人可以解释为什么这个HTML不能用于jquery mobile alpha 4吗?是不是支持复选框数组?我如何使其工作?
<div data-role="collapsible-set">
    <div data-role="collapsible">
        <h3>Vegetables</h3>
        <div data-role="fieldcontain">
            <fieldset data-role="controlgroup">
                <input type="checkbox" name="chk0[24]" id="chk0[24]" class="custom" />
                <label for="chk0[24]">Carrots</label>

                <input type="checkbox" name="chk0[75]" id="chk0[75]" class="custom" />
                <label for="chk0[75]">Eggplant</label>
            </fieldset>
        </div>
    </div>
</div>
    
已邀请:
我认为这是jQuery Mobile中的一个错误,或者它们从未打算让你在ID中使用方括号。我以前从未见过这一系列的复选框,所以看到它是一个惊喜。 但是,在3085行的jQuery Mobile代码深处是这样的:
label = input
  .closest("form,fieldset,:jqmData(role='page')")
  .find("label")
  .filter("[for=" + input[0].id + "]"),
这是将你的id传递给.filter,它试图将方括号解释为属性选择器。我认为jQuery Mobile应该使用双反斜杠转义ID中的任何方括号,这将阻止它们被Sizzle选择器引擎解释为属性选择器。 我想你应该通过https://github.com/jquery/jquery-mobile/issues向jQuery Mobile小组报告这个问题。 希望这可以帮助!     

要回复问题请先登录注册