将jquery移动文本字段与文本放在同一行

时间:2012-09-17 22:15:43

标签: jquery-mobile

有没有办法用jQuery Mobile执行以下操作?

Hello [________________________]

而不是jQuery Mobile目前所做的,将这两者放在多行:

Hello

[________________________]

目前我正在创建我的文本和textinput:

<div id="customTagEntryDiv">
  <span id="userTag">Hello</span>
  <input type="text" name="customTagField" id="customTagField" value=""  />
  </div> 

3 个答案:

答案 0 :(得分:17)

是的,您可以使用data-role="fieldcontain"

来使用字段容器

例如:

<div data-role="fieldcontain">
    <label for="name">Text Input:</label>
    <input type="text" name="name" id="name" value=""  />
</div>  

使用上面的代码,你应该得到这样的东西:

  

文字输入:[ _ __ _ __ _ __ _ __ ]

而不是这样:

  

文字输入:
  [<强> _ __ _ __ _ __ _ __

您可以将此“格式”用于许多类型的元素:文本输入,单选按钮,选择菜单等。 但是,我认为如果你的文字太长,在这种情况下,元素可能会自动转到下一行......


根据您的示例,您可能想尝试这样的事情:

<div id="customTagEntryDiv" data-role="fieldcontain">
    <label id="userTag" for="customTagField">Hello</label>
    <input type="text" name="customTagField" id="customTagField" value=""  />
</div> 

查看在线文档以获取更多信息: http://jquerymobile.com/demos/1.1.1/docs/forms/textinputs/

希望这有帮助。

答案 1 :(得分:0)

浮动:左边会做的伎俩。请参阅此示例,其中包含普通和迷你字段的行:

http://jsfiddle.net/den232/WzH3Y/

    .floatleft {
    float:left;
 }
.floatright {
    float:right;
 }
.forceinline{  /* Prevent fieldcontain from doing a BLOCK thing */
    display:inline !important;
}
.textwidth {  /* limit width of input fields */
    width:80px;
}
.closespacing { /* controls spacing between elements */
    margin:0px 5px 0px 0px;
 }
.bigselect {   /* centers select with big buttons */
    padding: 0px;
    margin:2px 5px 0px 0px;
 }
.biginputheight {   /* matches text input height to big buttons */
    padding-top:10px !important;
    padding-bottom:12px !important;
}
.miniinputheight { /* matches text input height to minibuttons */
    padding-top:5px !important;
    padding-bottom:5px !important;
}
<div data-role="page" class="type-home">

<ul data-role="listview">
  <li  data-role="fieldcontain">first LI line</li>
  <li  data-role="fieldcontain">

    <div class='floatleft closespacing'>
        Big Buttons<br>More Text
    </div>


    <div  class='floatleft textwidth'>
      <input type="text" placeholder="left" class='biginputheight'></input>
    </div>  

    <div  class='floatright textwidth'>
      <input type="text" placeholder="right" class='biginputheight'></input>
    </div>  

  </li>
  <li  data-role="fieldcontain">

    <div class='floatleft closespacing'>    
        Small Buttons
    </div>


    <div  class='floatleft textwidth'>
      <input type="text" placeholder="e2" class='miniinputheight'></input>
    </div>  


    <div class='floatright closespacing'>
      <div  class='floatright closespacing'>    
        e3 Text<br>on right
      </div>
      <div  class='floatright textwidth'>
        <input type="text" placeholder="e3" class='miniinputheight'></input>
      </div>  
    </div>
  </li>
  <li  data-role="fieldcontain">last LI line</li>

</ul><!-- /listview -->  

答案 2 :(得分:0)

这不再有效:

<div data-role="fieldcontain"></div>

老式的桌子效果很好:

<table>
    <tr>
        <td>Label #1:</td>
        <td><input type="text"></td>
    </tr>
</table>