0

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

除此之外,我有一个 size="5" 属性的选择框,它最多显示 5 个选项,这些选项通过 for 循环填充来自数据库的信息。这个想法是让这个选择框充当一个列表框,在选择框中向用户显示所述信息。但是,一般来说,Codiqa 或者可能是 jquery mobile 会将任何选择框转换为一个按钮,该按钮只能在单击时查看内容。在这种情况下,这为我的客户增加了一个额外且不必要的步骤。如何强制 Codiqa 或 jquery mobile 遵守我的 size 属性,以便用户无需单击即可查看填充的信息?

谢谢!

Chrome 浏览器

在此处输入图像描述

科迪卡

在此处输入图像描述

4

2 回答 2

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 内部执行此操作,但添加起来很容易。

于 2013-05-23T16:52:47.027 回答
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 之前初始化事件。您可以在我的示例中看到它。

还有其他几种增强预防的解决方案,你可以在这里找到主题,只需寻找一个章节:Methods of markup enhancement prevention

于 2013-05-23T17:01:42.363 回答