SO - 19995535
HTML
Adott: 2 normál ágy + 2 pótágy
<br>
<br>Szabály:
<br> - A felnőtt, nyugdíjas, diák csak normál ágyon aludhat.
<br> - A gyermek bármin aludhat.
<br> - A diák azért csak 1, a gyermek azért csak 3 lehet, mert legalább 1 felnőttet kell választani!
<br>
<br>példák:
<br>- lehet 2 nyugdíjas + 2 gyermek, más nem
<br>- lehet 1 nyugdíjas + 1 diák + 1 v. 2 gyermek
<br>- 1 felnőtt + 1 diák + 1 v. 2 gyermek
<br>
<br>
<br>
<table width='100%'>
<tr>
<td width='25%'>felnőtt
<br>nem pótágy
<br>
<select class='number' size='4'>
<option selected>0</option>
<option>1</option>
<option>2</option>
</select>
</td>
<td width='25%'>nyugdíjas
<br>nem pótágy
<br>
<select class='number' size='4'>
<option selected>0</option>
<option>1</option>
<option>2</option>
</select>
</td>
<td width='25%'>gyermek
<br>mindegy
<br>
<select class='number' size='4'>
<option selected>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</td>
<td width='25%'>diák
<br>nem pótágy
<br>
<select class='number' size='4'>
<option selected>0</option>
<option>1</option>
</select>
</td>
<tr>
</table>
JavaScript
$(document).on("change", "select.number", function () {
var sum = 4;
var sum_number = 0;
$("select.number option:selected").each(function () {
sum_number += parseInt($(this).val(), 10);
});
$('select.number option').prop('disabled', false);
if (sum_number > 0) {
var diff = sum - sum_number;
$('select.number').each(function () {
var idx = parseInt($(this).val(), 10) + diff + 1;
$(this).find('option').slice(idx).prop('disabled', true)
})
}
});