将两个输入文本放在同一行

时间:2012-02-07 15:27:39

标签: html css jquery-mobile

我正在使用html和jquery mobile。代码是:

<div data-role = "content">
        <form action = "?" method="post" name="form" id = "form">
            <fieldset>
            <div data-role = "fieldcontain" class = "ui-hide-label">
                <label for="name">Name</label>
                <input type="text" name="name" id="name" value="" placeholder="Name" />
            </div>

            <div data-role ="fieldcontain" class= "ui-hide-label">
                <label for="surname">Surname</label>
                <input type="text" name="surname" id="surname" value="" placeholder="Surname"/>
            </div>

            <div data-role ="fieldcontain" class= "ui-hide-label">
                <label for="address">Address</label>
                <input type="text" name="address" id="address" value="" placeholder="Address"/>
            </div>


                <div data-role="fieldcontain" class="ui-hide-label">
                    <label for="birth-place">Birth Place</label>
                    <input type="text" name="birth-place" id="birth_place" value="" placeholder="Birth Place" />
                </div>
                <div data-role = "fieldcontain" class="ui-hide-label">
                    <label for="province">Province</label>
                    <input type="text" name="province" id="province" value="" placeholder="PR" />
                </div>


                <div data-role="fieldcontain" class="ui-hide-label">
                    <label for"date">Birth Date</label>
                    <input type="datetime" name="dt" id="dt" value="" placeholder="Birth Date" />
                </div>

                <div data-role="fieldcontain">
                    <fieldset data-role="controlgroup" data-type="horizontal">
                        <input type="radio" name="radio-choice-1" id="radio-choice-1" value="male" />
                        <label for="radio-choice-1">Male</label>
                        <input type="radio" name="radio-choice-1" id="radio-choice-2" value="female"  />
                        <label for="radio-choice-2">Female</label>
                    </fieldset>
                </div>

                <div data-role="fieldcontain" data-type="horizontal">
                    <label for="select-choice-0"></label>
                    <select name="select" id="select">
                        <option value="politrauma">Politrauma</option>
                        <option value="cardiologico">Cardiologico</option>
                        <option value="neurologico">Neurologico</option>
                    </select>
                </div>
            </fieldset>
        </form>
    </div>

我无法在同一行输入两个输入文本。我试过阻止网格,但它不起作用

6 个答案:

答案 0 :(得分:7)

您应该在jquerymobile中查看两个列布局: jquerymobile.com/demos/1.0.1/docs/content/content-grids.html

您的代码应该是这样的:

<form action = "./includes/user_form.php" method="post" id = "form">
    <div class="ui-grid-a">
            <div data-role = "fieldcontain" class = "ui-hide-label ui-block-a">
                <label for="name">Name</label>
                <input type="text" name="name" id="name" value="" placeholder="Name" />
            </div>
            <div data-role ="fieldcontain" class= "ui-hide-label ui-block-b">
                <label for="surname">Surname</label>
                <input type="text" name="surname" id="surname" value="" placeholder="Surname"/>
            </div>
    </div>
 </form>

答案 1 :(得分:5)

我知道这个问题有点旧,但我遇到了同样的问题,这对我有用:

<fieldset class="ui-grid-a">
<div class="ui-block-a">
        <input type="text" id="" name="" value="">
</div>
<div class="ui-block-b">
        <input type="text" id="" name="" value="">
</div>

您甚至可以添加一些样式来更改字段的相对大小。

答案 2 :(得分:3)

只需向div添加浮点数:

<form action = "./includes/user_form.php" method="post" id = "form">
        <div data-role = "fieldcontain" class = "ui-hide-label" style="float:left">
            <label for="name">Name</label>
            <input type="text" name="name" id="name" value="" placeholder="Name" />
        </div>
        <div data-role ="fieldcontain" class= "ui-hide-label" style="float:left">
            <label for="surname">Surname</label>
            <input type="text" name="surname" id="surname" value="" placeholder="Surname"/>
        </div>
    </form>

答案 3 :(得分:2)

我正在使用<span>包装输入,该类覆盖嵌套display的{​​{1}}属性(由jquery mobile生成)。您还必须明确设置输入宽度。

示例http://jsfiddle.net/FabyD/

CSS:

<div>

HTML:

.inlineinput div {
    display: inline;
}

答案 4 :(得分:1)

DIV是块元素 - 默认情况下它们占用100%的宽度。这使得以下元素出现在“下一行”中。

所以,你需要将元素上的第二组移动到与第一组相同的DIV(或者使用固定宽度重新设置DIV样式并使用浮点数,但这更具挑战性)

答案 5 :(得分:0)

另一个提示是检查data-type =“horizo​​ntal”-type(没有双关语)。

<fieldset data-role="controlgroup" data-mini="true" data-type="horizontal">
                    <div data-role="fieldcontain">
                      <label for="textinput11">
                        Something:
                      </label>
                      <input name="something" id="textinput11" placeholder="" value="" type="text">
                    </div>

                    <div data-role="fieldcontain">
                      <label for="textinput12">
                        Something else:
                      </label>
                      <input name="something_else" id="textinput12" placeholder="" value="" type="text">
                    </div>
                  </fieldset>