[英]Using jQuery to change a dropdown menu when a checkbox is checked
我对如何解决这个问题有些困惑。 当前,当用户从下拉菜单更改“数量”时,它会检查选中标记,但是当其移至零时,不会选中选中标记。
var val = 0
$('.drop').on('change',function() {
var val = $(this).val();
if(val > 0) {
var product = $(this).attr("prodindex");
$('#switchName' + product).prop('checked', true);
}
else {
var product = $(this).attr("prodindex");
$('#switchName' + product).prop('checked', false);
}
});
表格的一部分:
<input class='check' id='switchName0' type='checkbox'>
<label for='switchName0'></label>
</div>
<div class='col-lg-8'>
<input id="order_products__product_id" name="order_products[][product_id]" type="hidden" value="4" />
test
<br>
<div class='subheader'>$22.00</div>
</div>
<div class='col-lg-2'>
<select class="drop" data-cost-per-unit="2200" id="test" name="order_products[][quanity]" prodindex="0"><option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option></select>
</div>
</div>
</div>
</div>
</div>
我要这样做,以便如果未选中复选标记并选中它,它将数量更改为1,如果不选中它,则变为零。 但是,由于我在这里有了另一个jQuery,如果我使用$('.checkbox').on('change',fucntion(){}
,它将在每次下拉列表移动时发生变化,有什么更好的解决方案?
根据我对小提琴的测试,以下代码似乎有效。 复选框和选择都相互影响。 就像您的代码所暗示的那样,此代码假定所有复选框的ID形式switchName#
,其中#
是数字。
不要忘记在实际代码上更改10
( switchName长度)以匹配您的ID。
var $drops = $('.drop');
$('.check').on('change', function() {
var val = $(this).prop('checked'),
product = this.id.slice(10);
$drops.filter(function (i, e) {
return $(this).attr('prodindex') == product;
}).val(val ? '1' : '0');
});
$drops.on('change',function() {
var val = +(this.value),
product = $(this).attr("prodindex");
$('#switchName' + product).prop('checked', val > 0);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.