在JQuery Mobile中同一行格式化标签和切换开关

时间:2013-07-12 21:18:38

标签: javascript jquery html iphone jquery-mobile

我正在尝试找到相当于创建以下html元素的Javascript:

<div data-role="fieldcontain">
<label for="slider">Select slider:</label>
<select name="slider" id="slider" data-role="slider">
    <option value="off">Off</option>
    <option value="on">On</option>
</select> 

这会将标签放在同一行。

这是我的尝试,但标签位于拨动开关下方。我不知道用于格式化data-role =“fieldcontain”div的JQuery方法。

http://jsfiddle.net/2ckHr/13/

HTML

<div data-role="content" id="content">
</div>

JS

$('<div data-role="fieldcontain"><label>Label</label><select class="flip" name="flip-1" id="flip-1" data-role="slider"><option value="off">Off</option><option value="on">On</option></select></div>').appendTo($("#content"));

$(".flip").slider();

$('<button id="submit">Submit</button>').appendTo($("#content")).button();

$(document).delegate("#submit", "vclick", function() { alert($("#flip-1").val()); });

1 个答案:

答案 0 :(得分:2)

最简单的内联方式是在标签上添加一些CSS:

<label for="slider" style="display: inline; vertical-align: 1.2em;">Select slider:</label>

这可以在CSS类中考虑,轻视显示覆盖:

 .switchlabel { display: inline !important; vertical-align: 0.8em; }

如果计算vertical-align值不可行,则必须在创建控件后更改样式。您必须将vertical-align: middle;添加到此元素(由jQuery Mobile创建):

<div role="application" class="ui-slider ui-slider-switch ...