2

JQuery Mobile で、中央に入力ボックスがあるボタンをグループ化しようとしています。以下は私のコードです

<div data-role="controlgroup" data-type="horizontal">
        <a href="#" data-role="button">Yes</a>
        <input type="text"  value="0" min="0" max="20" size="2"  />
        <a href="#" data-role="button">Maybe</a>
    </div>

これが結果です

素晴らしいアイデアはありますか?

4

3 に答える 3

1

ラジオボタンには、積極的な表示のケースが必要です。インライン!重要; ...これは、2行、1つの通常のボタンと1つのミニのリストです。

それが役に立てば幸い。 http://jsfiddle.net/den232/5mVv8/

    .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 data-role="fieldcontain" class= 'forceinline'>
      <div class='floatleft closespacing'>    
        <fieldset data-role="controlgroup" data-type="horizontal">
          <input type="radio" name="radio-view" id="radio-view-a" value="aa"  />
          <label for="radio-view-a">A1</label>
          <input type="radio" name="radio-view" id="radio-view-b" value="bb"  />
          <label for="radio-view-b">B1</label>
        </fieldset>
      </div>
    </div>

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

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

    <div data-role="fieldcontain" class= 'forceinline'>
      <div class='floatleft closespacing'>    
        <fieldset data-role="controlgroup" data-type="horizontal" data-mini='true'>
          <input type="radio" name="radio-view" id="radio-view-a" value="aa"  />
          <label for="radio-view-a">AA</label>
          <input type="radio" name="radio-view" id="radio-view-b" value="bb"  />
          <label for="radio-view-b">BB</label>
        </fieldset>
      </div>
    </div>

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

     <div class='floatright closespacing'>
      <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 -->  

于 2012-10-23T18:32:20.650 に答える
0

デフォルトでは、ボタンはビュー ポートの幅全体を占めます。これを変更するには、data-inline 属性を使用してみてください。

http://jquerymobile.com/demos/1.2.0/docs/buttons/buttons-inline.html

入力を正しく表示するには、いくつかの css も必要です。以下は私にとってはうまくいくようでした。目的に応じて、おそらく幅を調整する必要があります。

input.ui-input-text {
    float: left;
    position: relative;
    display: inline-block;
    width: 50%;
}
于 2012-10-18T14:34:52.603 に答える
0

この解決策は私にとってはうまくいき、同じことを求めている他の誰かに役立つことを願っています.

.controlgroup-textinput{
    padding-top:.22em;
    padding-bottom:.22em;
}
<fieldset data-role="controlgroup" data-type="horizontal" data-mini="false">
    <a href="#" data-role="button">Yes</a>
    <input type="text"  value="0" min="0" max="20" size="2" data-wrapper-class="controlgroup-textinput ui-btn" />
    <a href="#" data-role="button">Maybe</a>
</fieldset>

于 2015-08-16T04:25:52.613 に答える