我有多个输入,我想设置每个输入部分的最小值。例如,我设置了最小输入值100
。因此,如果任何输入的值小于所有输入的100
,则会显示错误。否则,如果所有输入的值大于或等于100
,它将显示成功消息。
在我的情况下,如果我在输入中输入小于值,它将显示错误,但如果我在其他输入中输入更大的值,则显示更少的值,它显示成功消息。
<div class="color-quantity not-selected-inputs selected-input-wrap">
<input type="text" class="custom_small" name="custom_small" onkeydown="return myFunction(event);">
</div>
<div class="color-quantity not-selected-inputs selected-input-wrap">
<input type="text" class="custom_medium" name="custom_medium" onkeydown="return myFunction(event);">
</div>
<input type="text" class="custom_large" name="custom_large" onkeydown="return myFunction(event);">
</div>
jQuery('.selected-input-wrap > input').map(function () {
var total = 0;
jQuery('input', this).each(function () {
total += this.value * 1;
});
if (parseInt(total) <= 99) {
jQuery(".select-quantity").html('<p>Please select at least 100 for each color</p>');
} else if (parseInt(total) >= 100) {
jQuery(".select-quantity").html('<p>Success</p>');
}
请查看代码并帮助我找出问题
答案 0 :(得分:1)
有几个问题。
<link rel="stylesheet" type="text/css" href="~/Content/front-end-theme/rs-plugin/css/settings.css" media="screen" />
<link rel="stylesheet" type="text/css" href="~/Content/front-end-theme/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="~/Content/front-end-theme/css/animate.css">
<link rel="stylesheet" type="text/css" href="~/Content/front-end-theme/css/prettyPhoto.css">
<link rel="stylesheet" type="text/css" href="~/Content/front-end-theme/css/carousel.css">
<link rel="stylesheet" type="text/css" href="~/Content/front-end-theme/style.css">
<!-- COLORS -->
<link rel="stylesheet" type="text/css" href="~/Content/front-end-theme/css/custom.css">
,否则在每次迭代时将其重置为total
。 0
调用来循环遍历一组元素,因为each()
旨在用于从这些元素创建数组。 map()
parseInt()
一次
total
条件是多余的,只能由else if
替换,甚至可以替换为以下三元。试试这个:
else
答案 1 :(得分:0)
您可以使用以下jquery代码: -
jQuery('.selected-input-wrap > input').map(function () {
var total = 0;
jQuery('input').each(function () {
total = $(this).val();
if (parseInt(total) <= 99) {
jQuery(".select-quantity").html('<p>Please select at least 100 for each color</p>');
}
else if (parseInt(total) >= 100) {
jQuery(".select-quantity").html('<p>Success</p>');
}
});
});
它可能对你有帮助。
答案 2 :(得分:0)
总变量循环遍历所有输入,并且只有一次根据您的代码返回。尝试在if-else条件之后关闭每个循环并检查一次。
jQuery('.selected-input-wrap > input').map(function () {
var total = 0;
jQuery('input', this).each(function () {
total += this.value * 1;
if (parseInt(total) <= 99) {
jQuery(".select-quantity").html('<p>Please select at least 100 for each color</p>');
} else if (parseInt(total) >= 100) {
jQuery(".select-quantity").html('<p>Success</p>');
}
});
})
答案 3 :(得分:0)
试试这个。
var MIN = 100, value = 0;
jQuery('.selected-input-wrap > input').each(function (idx,el) {
value += parseInt(el.value);
});
if (value < MIN) {
jQuery(".select-quantity").html('<p>Please select at least 100 for each color</p>');
} else {
jQuery(".select-quantity").html('<p>Success</p>');
}
答案 4 :(得分:0)
在我的案例中,我已经解决了以下问题:
var total = 0;
var array_total = new Array();
jQuery('.selected-input-wrap > input').each(function(index, value) {
jQuery( ".right-minimu").remove();
var total = jQuery(this).val();
console.log("Total Value : " + total);
if (total != '') {
var t_array = array_total.push(total);
}
console.log('Total Array : ' + array_total);
});
/******** make array unique *************/
var unique_total = [];
jQuery.each(array_total, function(i, el) {
if (jQuery.inArray(el, unique_total) === -1)
unique_total.push(el);
});
var current_urls = jQuery(location).attr('href');
var rest = current_urls.substr(37, 9); //
var current_urls = jQuery(location).attr('href');
var rest_2 = current_urls.substr(37, 18);
var rest_3 = current_urls.substr(37, 15);
var rest_4 = current_urls.substr(37, 8);
jQuery.each(unique_total, function(key, total) {
for (var i = 0; i <= unique_total.length; i++) {
if(rest == "bracelets") {
if (parseInt(unique_total[i]) <= 99) {
jQuery(".select-quantity").css("display", "block");
jQuery(".select-quantity").html('<p>Please select at least 100 for each color</p>');
jQuery( "#order-overview-table table" ).css("display" , "none") ;
jQuery( "#order-overview-table").append("<p class='right-minimu'>Please select at least 100 for each color</p>") ;
jQuery('.btn-cart').removeAttr("onclick");
return false;
} else if (parseInt(unique_total[i]) >= 100) {
jQuery(".select-quantity").css("display", "none");
jQuery('.btn-cart').attr('onClick', 'productAddToCartForm.submit(this);');
jQuery(".select-quantity").html('<p>Products Added</p>').delay(4000);
}
}