jQuery mobile不允许我使用自定义类名

jQuery mobile不允许我使用自定义类名,jquery,jquery-mobile,Jquery,Jquery Mobile,TL;博士:这把小提琴显示了问题: 我的用例不允许在这些select元素上使用id,因为它们来自多次呈现的模板。如果我使用类名,jquerymobile将不正确地呈现选择的双包装 是否有已知的解决方法?谷歌没有给我看任何东西 为完整起见,以下代码不起作用: 但如果我将这些类名更改为ID,如下所示: $("#one, #two").selectmenu(); $("#two").selectmenu("disable"); $("#one").on("change", function(){

TL;博士:这把小提琴显示了问题:

我的用例不允许在这些select元素上使用id,因为它们来自多次呈现的模板。如果我使用类名,jquerymobile将不正确地呈现选择的双包装

是否有已知的解决方法?谷歌没有给我看任何东西

为完整起见,以下代码不起作用:

但如果我将这些类名更改为ID,如下所示:

$("#one, #two").selectmenu();

$("#two").selectmenu("disable");

$("#one").on("change", function(){
    $("#two").selectmenu("enable");
});

$("body").trigger("create");
一切正常

我被问到的具体错误是:


未捕获错误:初始化前无法调用selectmenu上的方法;试图调用方法“disable”

因为jQuery Mobile在输入WidgetIZE时会将类传播到另一个元素,所以应该将select标记添加到选择器中

$("select.one, select.two").selectmenu();

$("select.two").first().selectmenu("disable");

$("select.one").on("change", function(){
    $("select.two").selectmenu("enable");
});

$("body").trigger("create");

对于懒惰的测试人员来说,这里有一个问题:jquerymobile的错误行为和抛出错误的错误行为如何?什么错误?对于那些想知道原因的人来说,这是因为jQuery Mobile的页面初始化例程已经增强了这些元素。在此过程中,会创建其他元素,其中一些元素会重复原始元素公开的类。$。一、.2最终匹配四个元素而不是两个。这就成功了。我应该知道它正在将类名传播到生成的DOM树上。非常感谢!
$("select.one, select.two").selectmenu();

$("select.two").first().selectmenu("disable");

$("select.one").on("change", function(){
    $("select.two").selectmenu("enable");
});

$("body").trigger("create");