jQueryで、同じクラスの各divについて、選択ボックス内で選択された値の合計が0より大きい場合、アラートを表示する簡単な関数を記述したいと思います。入れ子div内のselectオプションのjQueryカウント値
これは私のhtmlコードです:
$(".Y").each(function(index) {
\t var positive = $(this).children('.Z').val();
\t var negative = 0;
\t $(this).children('.T').each(function(index) {
\t \t negative = negative + $(this).val();
\t });
\t
\t var difference = positive - negative;
\t if (difference > 0) {
\t \t alert("Show something!");
\t }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div class="X">
\t <div class="Y">
\t \t <select class="Z">
\t \t \t <option value="0">0</option>
\t \t \t <option value="1">1</option>
\t \t </select>
\t \t <select class="T">
\t \t \t <option value="0">0</option>
\t \t \t <option value="1">1</option>
\t \t </select>
\t \t <select class="T">
\t \t \t <option value="0">0</option>
\t \t \t <option value="1">1</option>
\t \t </select>
\t <div>
\t <div class="Y">
\t \t <select class="Z">
\t \t \t <option value="0">0</option>
\t \t \t <option value="1">1</option>
\t \t </select>
\t \t <select class="T">
\t \t \t <option value="0">0</option>
\t \t \t <option value="1">1</option>
\t \t </select>
\t \t <select class="T">
\t \t \t <option value="0">0</option>
\t \t \t <option value="1">1</option>
\t \t </select>
<div>
<div>
私のコードは動作しません。どこが間違っているの?いくつかのヒント?
私たちのエラーメッセージがありますか? – manuzi1
try .find( 'option:selected').val()の代わりにattr( 'value') – twicejr
@twicejr:これを行う理由は全くありません。それは 'val'が壊れているようではありません。 –