更改单个 JQuery 移动输入字段的宽度?
Change the width of a SINGLE JQuery Mobile Input field?
这个问题的其他两个答案建议覆盖
div.ui-输入文本{}
但是,我在此页面上以及我的项目中有多个输入字段。所以这些答案不会起作用,因为它们会影响我的页面或项目上的所有内容。
如何修改单个文本输入?
输入标签中的 class 指定不起作用。如果我用 div 标签封装输入,它仍然不起作用。我想在最后放一个图标,但似乎所有 Jquery 移动文本输入都占据了整个屏幕。
<input class="address" type="text" name="address" id="basic"
placeholder="Street Address, City, State" />
<input type="button" value="FindMe" data-icon="eye" data-iconpos="notext">
CSS, No Effect!
.address {
width: 200px !important;
}
现在,我仍然可以切换到 Bootstrap 如果那是继续这个项目的更好方法。似乎有 .col-xs-* classes 可以解决这个问题。
提前致谢。
jQM 没有直接在输入上设置 class,而是为输入提供了一个数据属性,称为 data-wrapper-class(api 文档:http://api.jquerymobile.com/textinput/#option-wrapperClass ).这允许您将 class 直接应用于 jQM 在增强文本框时添加的最外层包装 DIV。
<input data-wrapper-class="address" type="text" name="address" id="basic"
placeholder="Street Address, City, State" />
Working DEMO
现在回答这个问题可能有点晚了,但也许对于其他正在寻找同样东西的人来说(我是:-)
你可以把你的地址放在 div:
<div class="myContainer">
<label id="lbAddress">Provide the address</label>
<input class="address" type="text" name="address" id="address" />
<input class="address" type="text" name="Street" id="Street" />
<input class="address" type="text" name="City" id="City" />
<input type="button" value="FindMe" data-icon="eye" data-iconpos="notext">
</div>
<div><input class="other" type="text" name="other" id="other"/></div>
然后 select 你的容器和 CSS 中那个容器内的输入:
.myContainer > .ui-input-text
{
width:200px;
}
演示:https://jsfiddle.net/petitbarzun/cfazq5k5/
阅读您对 ezanker 答案的评论,如果您希望所有输入都显示在一行中,则需要有一个带有 ui-field-contain 的容器,如下所示(标签应该在那里太):
<div class="ui-field-contain">
<label id="lbAddress" style="display:none"></label>
<input class="address" type="text" name="address" id="address" />
<input class="address" type="text" name="Street" id="Street" />
<input class="address" type="text" name="City" id="City" />
<input type="button" value="FindMe" data-icon="eye" data-iconpos="notext">
</div>
<div><input class="other" type="text" name="other" id="other"/></div>
然后 CSS 看起来像这样:
.ui-field-contain > #lbAddress~[class*=ui-input-text]
{
width:219px;
}
这个问题的其他两个答案建议覆盖 div.ui-输入文本{}
但是,我在此页面上以及我的项目中有多个输入字段。所以这些答案不会起作用,因为它们会影响我的页面或项目上的所有内容。
如何修改单个文本输入?
输入标签中的 class 指定不起作用。如果我用 div 标签封装输入,它仍然不起作用。我想在最后放一个图标,但似乎所有 Jquery 移动文本输入都占据了整个屏幕。
<input class="address" type="text" name="address" id="basic"
placeholder="Street Address, City, State" />
<input type="button" value="FindMe" data-icon="eye" data-iconpos="notext">
CSS, No Effect!
.address {
width: 200px !important;
}
现在,我仍然可以切换到 Bootstrap 如果那是继续这个项目的更好方法。似乎有 .col-xs-* classes 可以解决这个问题。
提前致谢。
jQM 没有直接在输入上设置 class,而是为输入提供了一个数据属性,称为 data-wrapper-class(api 文档:http://api.jquerymobile.com/textinput/#option-wrapperClass ).这允许您将 class 直接应用于 jQM 在增强文本框时添加的最外层包装 DIV。
<input data-wrapper-class="address" type="text" name="address" id="basic"
placeholder="Street Address, City, State" />
Working DEMO
现在回答这个问题可能有点晚了,但也许对于其他正在寻找同样东西的人来说(我是:-) 你可以把你的地址放在 div:
<div class="myContainer">
<label id="lbAddress">Provide the address</label>
<input class="address" type="text" name="address" id="address" />
<input class="address" type="text" name="Street" id="Street" />
<input class="address" type="text" name="City" id="City" />
<input type="button" value="FindMe" data-icon="eye" data-iconpos="notext">
</div>
<div><input class="other" type="text" name="other" id="other"/></div>
然后 select 你的容器和 CSS 中那个容器内的输入:
.myContainer > .ui-input-text
{
width:200px;
}
演示:https://jsfiddle.net/petitbarzun/cfazq5k5/
阅读您对 ezanker 答案的评论,如果您希望所有输入都显示在一行中,则需要有一个带有 ui-field-contain 的容器,如下所示(标签应该在那里太):
<div class="ui-field-contain">
<label id="lbAddress" style="display:none"></label>
<input class="address" type="text" name="address" id="address" />
<input class="address" type="text" name="Street" id="Street" />
<input class="address" type="text" name="City" id="City" />
<input type="button" value="FindMe" data-icon="eye" data-iconpos="notext">
</div>
<div><input class="other" type="text" name="other" id="other"/></div>
然后 CSS 看起来像这样:
.ui-field-contain > #lbAddress~[class*=ui-input-text]
{
width:219px;
}