【问题标题】:Jquery mobile select list not workingJquery移动选择列表不起作用
【发布时间】:2011-10-17 22:13:06
【问题描述】:

这有点疯狂,我的页面中有两个 div,每个 div 中有两个 slect 列表。
在第一个 div 中,代码按预期工作,但在第二个 div 中却不是。我在两个 div 中都编写了休闲代码-

 <select onchange="populateStateSelectBox('','ADDR_SHIP_COUNTRY','ADDR_SHIP_STATE');" name="ADDR_SHIP_COUNTRY" id="ADDR_SHIP_COUNTRY" data-native-menu="false" data-theme="c">
            <option value="">Country</option> 

              <option value="zx">'''' </option>

              <option value="af">Afghanistan </option>

              <option value="hh">Aftab </option>

              <option value="ar">Aire </option>
    </select>

我在 jquery docs 中读到这一行-要在特定选择上使用自定义菜单,只需添加 data-native-menu="false" 属性
这是参考Jquery Select List
我做了同样的事情,但它在第一个 div 中有效,但在第二个 div 中无效..
任何人都知道为什么会这样,我从过去 5 小时开始尝试解决,但没有运气.. :( 请有人建议我哪里错了。

我想要这个...http://jsfiddle.net/XbbdU/3/

编辑- 与第二个列表相关的代码-

 <b>Country *:</b> 
        <select data-theme="c" data-native-menu="false" id="<%=WebKeys.ADDR_SHIP_COUNTRY%>"  name="<%=WebKeys.ADDR_SHIP_COUNTRY%>"  onchange="populateStateSelectBox('','<%=WebKeys.ADDR_SHIP_COUNTRY%>','<%=WebKeys.ADDR_SHIP_STATE%>');" >
        <option value ="">Country</option> 
         <%for(int i=0; i<countryBean.length ;i++){
            CountryBean country = countryBean[i];%>
          <option value ="<%=country.getCountryCode()%>" <%if(country.getCountryCode().equals(shippingAddress.getCountry())){%> selected <%}%> ><%= country.getCountry()%> </option>
         <%}%>
        </select>

单击此列表时,我正在填充第二个列表的内容..如您所见,我在 onchange 事件上调用了一个函数..

【问题讨论】:

  • id 在每个 div 中都不同..我刚刚给出了我在所有 div 中使用的标记。
  • 喜欢这个? jsfiddle.net/XbbdU/65
  • 是的..但它没有发生在我的页面中..实际上在页面加载时只有第一个 div 的选择列表是可见的,其余两个或隐藏,单击一个按钮我显示另外两个.. .所以这可能是原因..?????我很困惑..请帮帮我
  • 你能把你的整个代码改成 jsfiddle 或者发布一个链接吗?
  • 我无法发布链接,因为它在开发服务器上..但尝试在 jsfiddle 中生成

标签: jquery jquery-mobile


【解决方案1】:

尝试在第二个 div 中触发创建 - 可能作为 populateStateSelectBox 方法的最后一行。

类似这样的:

$("#div2").trigger('create');//div2 is the id of the div enclosing second select

【讨论】:

  • 它会做什么..that create?
  • 它将确保 jquery 移动样式正确应用于您正在创建的新选择。
【解决方案2】:

一个页面上不能有两个具有相同 ID 的选择。给每个人一个唯一的ID。我假设这个答案是因为您说“它在第二个 div 中不起作用”...如果您需要进一步的帮助,请发布更多标记(例如第二个 div 中的选择)。

【讨论】:

  • id 在每个 div 中都不同..我刚刚给出了我在所有 div 中使用的标记。
猜你喜欢
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 2020-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多