Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery移动选择菜单中,我可以强制LI元素与下划线选项元素具有相同的类吗?_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript 在jQuery移动选择菜单中,我可以强制LI元素与下划线选项元素具有相同的类吗?

Javascript 在jQuery移动选择菜单中,我可以强制LI元素与下划线选项元素具有相同的类吗?,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,例如,如果我将此HTML用作下拉菜单: <div data-role="fieldcontain"> <label for="cars" class="ui-hidden-accessible">Select Seating Area</label> <select id="cars" data-native-menu="false"> <option class="myclass1" value="vol

例如,如果我将此HTML用作下拉菜单:

<div data-role="fieldcontain">
    <label for="cars" class="ui-hidden-accessible">Select Seating Area</label>    
    <select id="cars" data-native-menu="false">
      <option class="myclass1" value="volvo">Volvo</option>
      <option class="myclass2" value="saab">Saab</option>
      <option class="myclass3" value="mercedes">Mercedes</option>
      <option class="myclass4" value="audi">Audi</option>
    </select>
</div>
​

选择座位区
沃尔沃汽车
萨博
梅赛德斯
奥迪
​
我希望将自定义类添加到生成的UL元素的相应LI元素中。一个人怎么做呢?jQuery Mobile是否提供了这种现成的功能


这里有一个快速的JSFiddle:

否此功能不是现成提供的。方法如下所示:

$('[data-option-index=0]').addClass('myclass1');
$('[data-option-index=2]').addClass('myclass2');

我相信你可以写一个更简洁的方法来完成这个任务。这只是一般的想法。

我最终采取的方法如下:

$('[data-option-index=0]').addClass('myclass1');
$('[data-option-index=2]').addClass('myclass2');
  • 通过向菜单添加“data role='none'”属性来禁用JQM select菜单处理
  • 手动调用下拉列表中的.selectmenu(),并回调“创建”事件

请参见示例

,因为jQuery Mobile在用户每次按下下拉菜单时都会重新创建UL,所以我是否可以订阅一个事件以了解其渲染何时完成?请忽略:解决方案是使用“data role=“none”装饰元素,并使用JS中的自定义选项调用.selectmenu()。现在一切正常。谢谢您是否可以详细说明或在回答您自己的问题时发布您的代码。我很好奇你是如何解决这个问题的。可能是JSFIDLE?刚刚添加了一个JSFIDLE示例。希望能有帮助