强制Codiqa尊重选择框尺寸属性

时间:2013-05-23 16:08:14

标签: html jquery-mobile codiqa

前段时间我也向Codiqa支持发布了这个问题,所以我并没有尝试将stackoverflow转变为Codiqa支持中心,只是知道很多支持Codiqa的人都在这里,但如果我不是,请告诉我允许在本网站上寻求对产品的支持......

除此之外,我有一个size =“5”属性的选择框,它显示最多5个选项,这些选项通过for循环填充来自数据库的信息。我们的想法是将此选择框用作列表框,以在选择框中向用户显示所述信息。但是,一般情况下,Codiqa或jquery移动设备会将任何选择框转换为只能在单击时查看内容的按钮。在此实例中,这为我的客户端添加了额外且不必要的步骤。如何强制Codiqa或jquery mobile尊重我的尺寸属性,以便用户可以看到填充的信息而无需点击查看?

谢谢!

Chrome浏览器

enter image description here

Codiqa

enter image description here

2 个答案:

答案 0 :(得分:1)

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

<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>

我们还没有办法在Codiqa内部做到这一点,但它很容易添加。

答案 1 :(得分:0)

工作示例:http://jsfiddle.net/bagz8/

当页面可用时,您可以以编程方式强制选择打开自己:

$(document).on('pagebeforeshow', '#index', function(){ 
    $( "#select-choice-4" ).selectmenu( "open" );
});

这将是一种解决方法。

编辑:

然后强制jQuery Mobile不要选择样式框。有几个解决方案,但这个可能是最好的:http://jsfiddle.net/bagz8/1/

$(document).bind('mobileinit',function(){
    $.mobile.page.prototype.options.keepNative = "select";
});   

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

还有其他一些增强预防解决方案,您可以找到主题here,只需寻找一个章节: Methods of markup enhancement prevention