Html 强制Codiqa遵守“选择框大小”属性

Html 强制Codiqa遵守“选择框大小”属性,html,jquery-mobile,codiqa,Html,Jquery Mobile,Codiqa,不久前,我还向Codiqa支持部门发布了这个问题,所以我不想把stackoverflow变成Codiqa支持中心,只知道这里有很多支持Codiqa的人,但如果我不允许在这个网站上请求产品支持,请告诉我 除此之外,我还有一个带有size=“5”属性的选择框,它最多显示5个选项,这些选项通过for循环填充数据库中的信息。其想法是让这个选择框充当一个列表框,在选择框中显示用户所说的信息。但是,Codiqa或jquery mobile通常会将任何选择框转换为一个按钮,只有在单击时才能查看内容。在本例中,

不久前,我还向Codiqa支持部门发布了这个问题,所以我不想把stackoverflow变成Codiqa支持中心,只知道这里有很多支持Codiqa的人,但如果我不允许在这个网站上请求产品支持,请告诉我

除此之外,我还有一个带有size=“5”属性的选择框,它最多显示5个选项,这些选项通过for循环填充数据库中的信息。其想法是让这个选择框充当一个列表框,在选择框中显示用户所说的信息。但是,Codiqa或jquery mobile通常会将任何选择框转换为一个按钮,只有在单击时才能查看内容。在本例中,这为我的客户机添加了一个额外且不必要的步骤。我如何强制Codiqa或jquery mobile遵守我的大小属性,这样用户就可以看到填充的信息,而无需单击查看

谢谢大家!

浏览器

科迪卡


这里是Codiqa的创建者。这是jQuery移动行为,您可以通过告诉它不要增强该表单元素来禁用它:

<label for="foo">
<select name="foo" id="foo" size="5" data-role="none">
    <option value="a">A</option>
    <option value="b">B</option>
    <option value="c">C</option>
</select>

A.
B
C
我们还没有办法在Codiqa内部做到这一点,但添加起来很容易

工作示例:

当页面可用时,您可以通过编程强制选择自动打开:

$(document).on('pagebeforeshow', '#index', function(){ 
    $( "#select-choice-4" ).selectmenu( "open" );
});
这将是一个解决办法

编辑:

然后强制jQuery Mobile不设置选择框的样式。有几种解决方案,但这一种可能是最好的:

警告,
mobileinit
事件必须在加载jQuery Mobile之前初始化。你可以在我的例子中看到


还有其他几种增强预防的解决方案,您可以找到主题,只需查找一章:
标记增强预防的方法

嗯,这并没有解决问题。我有(选项是使用js for loop动态创建的)我也在使用PhoneGap,这里有相同的问题:所以这可能不是真正的Codiqa问题?在这种情况下,可能根本不是jQuery Mobile问题,可能是这些设备上的浏览器限制。可能想找到一个通过Javascript实现这一点的插件。您也可以使用ListView!这是一个很好的解决办法,但问题是我有5个列表框,每个列表框中可能有5个选项。这是一个小问题,看看我的另一个解决方案。您还可以找到一个关于jQuery Mobile的其他增强预防方法的链接。
$(document).bind('mobileinit',function(){
    $.mobile.page.prototype.options.keepNative = "select";
});