<input maxlength="1" data-index="1" v-model.trim="input[1]" placeholder="A" @focus="currentFocus = 1" /> <input maxlength="1" data-index="2" v-model="input[2]" placeholder="1" @focus="currentFocus = 2" /> <input maxlength="1" data-index="3" v-model="input[3]" placeholder="2" @focus="currentFocus = 3" /> 帮我根据以上代码写一段代码 , 现在有很多个input输入框, 如果input输入了值,就添加样式outline: 2px solid #E72C4A 没有输入值的不添加
时间: 2023-07-03 07:09:56 浏览: 42
你可以使用 `v-bind` 绑定 `class` 属性来实现这个样式的添加:
```html
<template>
<div>
<input
v-for="(item, index) in input"
:key="index"
:maxlength="1"
:data-index="index"
v-model.trim="input[index]"
:placeholder="index === 1 ? 'A' : index - 1"
@focus="currentFocus = index"
@blur="currentFocus = 0"
:class="{'has-value': item}"
/>
</div>
</template>
<style>
input.has-value {
outline: 2px solid #E72C4A;
}
</style>
```
在上面的代码中,我们使用了 `v-for` 循环遍历 `input` 数组,为每个 `input` 绑定了一个 `key` 和一些属性。然后使用 `v-bind` 绑定 `class` 属性,当 `item` 存在值时,添加 `has-value` 类,从而触发样式的添加。
相关问题
<div class='layui-form-item'> <label class='layui-form-label'>各分项数量<span class="required-field"></span></label> <div class='layui-input-block'> <div class='layui-inline'> <input type='text' name='vcFxsl1' id='vcFxsl1' placeholder='请输入分项数量1' class='layui-input' lay-verify='required' maxlength="8" /> </div> <div class='layui-inline'> <input type='text' name='vcFxsl2' id='vcFxsl2' placeholder='请输入分项数量2' class='layui-input' lay-verify='required' maxlength="8" /> </div> <div class='layui-inline'> <input type='text' name='vcFxsl3' id='vcFxsl3' placeholder='请输入分项数量3' class='layui-input' lay-verify='required' maxlength="8" /> </div> </div> </div> 把三个输入框修改为 上下箭头选择数字 0-99
你可以使用`layui`的下拉选择框来替换文本输入框,让用户从上下箭头中选择数字0-99。下面是修改后的代码示例:
```html
<div class='layui-form-item'>
<label class='layui-form-label'>各分项数量<span class="required-field"></span></label>
<div class='layui-input-block'>
<div class='layui-inline'>
<select name='vcFxsl1' id='vcFxsl1' lay-verify='required'>
<option value=''>请选择分项数量1</option>
<!-- 生成数字选项 -->
<option value='0'>0</option>
<option value='1'>1</option>
<!-- 依此类推,生成99个选项 -->
<option value='99'>99</option>
</select>
</div>
<div class='layui-inline'>
<select name='vcFxsl2' id='vcFxsl2' lay-verify='required'>
<option value=''>请选择分项数量2</option>
<!-- 生成数字选项 -->
<option value='0'>0</option>
<option value='1'>1</option>
<!-- 依此类推,生成99个选项 -->
<option value='99'>99</option>
</select>
</div>
<div class='layui-inline'>
<select name='vcFxsl3' id='vcFxsl3' lay-verify='required'>
<option value=''>请选择分项数量3</option>
<!-- 生成数字选项 -->
<option value='0'>0</option>
<option value='1'>1</option>
<!-- 依此类推,生成99个选项 -->
<option value='99'>99</option>
</select>
</div>
</div>
</div>
```
这样,用户就可以从下拉选择框中选择数字0-99作为各分项的数量。记得根据实际需求修改每个下拉选择框的`name`和`id`属性。
<!-- 注册的模态框 --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">注册</h4> </div> <div class="modal-body"> <form> <label for="gender-input">邮箱:</label> <div style="text-align:center;vertical-align:middel;"> <input type="text" id="email" placeholder="请输入邮箱" class="form-control" style="width: 50%;" maxlength="5"> </div> <div> <label for="gender-input">密码:</label> <input type="text" id="password" placeholder="请输入密码" class="form-control" style="width: 50%;"> </div> <div> <label for="gender-input">确认密码:</label> <input type="text" id="confirm_password" placeholder="请确认密码" class="form-control" style="width: 50%;"> </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">取消</button> <button type="button" class="btn btn-primary olk" data-dismiss="modal">注册</button> </div> </div> <!-- /.modal-content --> </div> <!-- /.modal --> </div>如何将input在这里面水平居中,设置div style text-align center 没用
如果您使用了`text-align: center`,但是`input`元素依然没有水平居中,可能是因为`input`元素是一个内联元素,而内联元素默认是不占满父元素宽度的。在这种情况下,您可以尝试将`input`元素设置为块级元素,然后再使用`margin: 0 auto`来实现水平居中的效果。具体的代码如下:
```html
<div class="modal-body">
<form>
<div style="text-align:center;">
<label for="gender-input">邮箱:</label>
<input type="text" id="email" placeholder="请输入邮箱" class="form-control" style="width: 50%; display: block; margin: 0 auto;" maxlength="5">
</div>
<div>
<label for="gender-input">密码:</label>
<input type="text" id="password" placeholder="请输入密码" class="form-control" style="width: 50%;">
</div>
<div>
<label for="gender-input">确认密码:</label>
<input type="text" id="confirm_password" placeholder="请确认密码" class="form-control" style="width: 50%;">
</div>
</form>
</div>
```
在这里,我们将`input`元素的`display`属性设置为`block`,这样它就变成了块级元素,可以占满父元素的宽度。然后使用`margin: 0 auto`将其水平居中。