1

我试图找到创建以下 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()); });
4

1 回答 1

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 ...
于 2013-11-13T10:23:32.180 回答