我的问题是,当用户开始输入文本框时,只有当按钮不会出现时,才会出现Javascript函数以使按钮显示。
这是我的代码
<label for="color" class="control-label col-xs-4">
<p class="left">Color/s</p>
</label>
<div class="col-xs-7">
<input name="color" class="form-control req" autocomplete = "off" />
<input type="button" value="Add Color" />
</div>
答案 0 :(得分:5)
尝试使用input
事件
$('input[name="color"]').on('input',function(){
$('input[type="button"]')[0].disabled = (this.value.trim().length == 0);
}).trigger('input');
答案 1 :(得分:4)
隐藏你的按钮(通过风格)
<label for="color" class="control-label col-xs-4"><p class="left">Color/s</p></label>
<div class="col-xs-7">
<input name="color" class="form-control req" autocomplete = "off" />
<input type="button" value="Add Color" style="display:none" />
像这样添加JS
$( ".form-control" ).keypress(function() {
$(this).next().show();
$(this).unbind('keypress');
});
答案 2 :(得分:4)
只使用CSS,您可以显示和隐藏具有所需属性的按钮。
input[name="color"]:valid + input[type="button"] {
display: inline;
}
input[name="color"]:invalid + input[type="button"] {
display: none;
}
<label for="color" class="control-label col-xs-4">
<p class="left">Color/s</p>
</label>
<div class="col-xs-7">
<input name="color" class="form-control req" autocomplete="off" required/>
<input type="button" value="Add Color" />
</div>
答案 3 :(得分:2)
你所要做的就是添加一个input
监听器并检查输入是否为空。
var button = $('input[type=button]');
button.hide();
//hide it at the beginning.
$('input[name=color]').on('input', function() {
//If input changes
if ($(this).val().length > 0) {
//If it's not empty show it
button.show();
} else {
//If it's empty hide it
button.hide();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="color" class="control-label col-xs-4">
<p class="left">Color/s</p>
</label>
<div class="col-xs-7">
<input name="color" class="form-control req" autocomplete="off" />
<input type="button" value="Add Color" />
&#13;
答案 4 :(得分:0)
使用onkeyup
功能激活按钮