我知道这类似于表单上的“必需”,但如果可能的话,我需要它像这样工作。我已经在这里使用经过修改的代码,但是它仅适用于1个form元素。我唯一可以做到的方法是将同一过程添加4次,但是有没有更快更干净的方法呢?基本上,这可以在多种形式上使用,并且各种不同的输入得到不同的消息。谢谢
JS小提琴是https://jsfiddle.net/DTcHh/79251/
并且HTML代码是
<label class="control-label" for="id_stock">Stock</label>
<button id="id_stock_btn" type="button" name="stock_btn">Check form</button>
<input type="number" name="stock" class="form-control" id="id_stock" required="" data-original-title="" title="">
<input type="number2" name="stock" class="form-control" id="id_stock" required="" data-original-title="" title="">
<input type="number3" name="stock" class="form-control" id="id_stock" required="" data-original-title="" title="">
<input type="number4" name="stock" class="form-control" id="id_stock" required="" data-original-title="" title="">
JS是:
/* Latest compiled and minified JavaScript included as External Resource */
// Initialize tooltip on #id_stock input
$('#id_stock').tooltip({
title: "Please enter address",
trigger: "manual"
});
// Manually hide tooltip when re-clicking the input
// This can be modified to hide the tooltip whenever you see fit
$("#id_stock").click(function(e) {
$(this).tooltip("hide");
});
$("#id_stock_btn").click(function() {
/* Act on the event */
if(!$('#id_stock').val())
{
$('#id_stock').tooltip("show"); // Show tooltip
}
else {
//Do Some Other Stuff
}
});
答案 0 :(得分:1)
如果我正确理解了您的问题,则您正在尝试将保存javascript应用于4个类似的元素。
一种简单的方法是将输入内容包装在div中,然后更改jquery选择器以选择所有表单。我在您的JS小提琴中使用了以下代码。
<label class="control-label" for="id_stock">Stock</label>
<button id="id_stock_btn" type="button" name="stock_btn">Check form</button>
<div id="wrapper">
id属性为HTML元素( 值在HTML文档中必须是唯一的)。 名称应该不同。
<input type="number" name="stock" class="form-control" id="id_stock1" required="" data-original-title="" title="">
<input type="number2" name="stock1" class="form-control" id="id_stock2" required="" data-original-title="" title="">
<input type="number3" name="stock2" class="form-control" id="id_stock3" required="" data-original-title="" title="">
<input type="number4" name="stock3" class="form-control" id="id_stock4" required="" data-original-title="" title="">
</div>
/* Latest compiled and minified JavaScript included as External Resource */
// Initialize tooltip on #id_stock input
$('#wrapper input').tooltip({
title: "Please enter address",
trigger: "manual"
});
// Manually hide tooltip when re-clicking the input
// This can be modified to hide the tooltip whenever you see fit
$('#wrapper input').each(function() {
$(this).click(function(e) {
$(this).tooltip("hide");
})
});
$("#id_stock_btn").click(function() {
/* Act on the event */
$('#wrapper input').each(function() {
if(!$(this).val())
{
$(this).tooltip("show"); // Show tooltip
}
else {
//Do Some Other Stuff
}
})
});
答案 1 :(得分:0)
首先,您不应对多个元素使用相同的ID。它们必须是唯一的。要为多个元素处理相同的过程,请使用class
或data-
属性。
$('.form-control').tooltip({
trigger: "manual"
});
$("#id_stock_btn").click(function(){
$(".form-control").each(function(){
if(!$(this).val())
{
$(this).tooltip("show");
return false;
}
});
});
$(".form-control").click(function(e) {
$(this).tooltip("hide");
});
body {
margin: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<label class="control-label" for="id_stock">Stock</label>
<button id="id_stock_btn" type="button" name="stock_btn">Check form</button>
<input type="number" name="stock" class="form-control" id="id_stock" required="" data-original-title="Please enter Name" title="">
<input type="number2" name="stock" class="form-control" id="id_stock" required="" data-original-title="Please enter Email" title="">
<input type="number3" name="stock" class="form-control" id="id_stock" required="" data-original-title="Please enter Phone" title="">
<input type="number4" name="stock" class="form-control" id="id_stock" required="" data-original-title="Please enter Address" title="">