在jQuery中,我想编写一个简单的函数来显示一个警告,如果在select box中选择的值之和的差异是> 0,对于同一类的每个div。
这是我的HTML代码:
set.seed

$(".Y").each(function( index ) {
var positive = $(this).children('.Z').val();
var negative = 0;
$(this).children('.T').each(function( index ) {
negative = negative + $(this).val();
});
var difference = positive - negative;
if (difference > 0 ) {
alert("Show something!");
}
});

我的代码无效。哪里错了?一些提示?
答案 0 :(得分:0)
var difference = positive - negative;
if (differenze > 0 ) {
alert("Show something!");
}
你拼写 differenze 而不是差异。
答案 1 :(得分:0)
$(".Z, .T").on("change", function( index ) {
var positive = $(this).parent().children('.Z').val();
var negative = 0;
$(this).parent().children('.T').each(function( index ) {
negative = negative + $(this).val();
});
var difference = positive - negative;
if (difference > 0 ) {
alert("Show something!");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="X">
<div class="Y">
<select class="Z">
<option value="0">0</option>
<option value="1">1</option>
</select>
<select class="T">
<option value="0">0</option>
<option value="1">1</option>
</select>
<select class="T">
<option value="0">0</option>
<option value="1">1</option>
</select>
<div>
<div class="Y">
<select class="Z">
<option >0</option>
<option >1</option>
</select>
<select class="T">
<option >0</option>
<option >1</option>
</select>
<select class="T">
<option >0</option>
<option >1</option>
</select>
<div>
<div>
答案 2 :(得分:0)
谢谢大家的帮助!主要问题是,我是一个愚蠢的......
negative = negative + $(this).val();
表示使用$(this).val()附加负变量。并不意味着做一个代数和。
非常难看的解决方案:
negative = negative - -$(this).val();
或者更好:
negative = negative + parseInt($(this).val());
现在有效!