[英]jQuery Check if Checkbox is Checked, then Add Value to Input Field
我有一个购物车结帐页面,我正在尝试添加“礼物”选项。 需要做什么:选择“将订单作为礼品发送”复选框后,需要将值分配给隐藏的输入字段,以便将信息移动到确认页面和各种收据上。
HTML:
<h3>Send Order As Gift</h3>
<ul>
<li class="fc_row fc_gift"><label for="gift" class="fc_pre">This is a gift,
please do not include a receipt.</label>
<input type="checkbox" name="gift" id="gift" class="checkbox" value="" />
<input type="hidden" name="Gift" id="gift-true" value="" /></li>
<script type="text/javascript">
$(document).ready(function(){
$("#gift-true").input( $('#edit-checkbox-id').is(':checked').val() + "Yes");
});
</script>
</li>
<li class="fc_row fc_gift_message"><label for="Gift Message">Include a message
(limit 100 characters):</label>
<textarea name="Gift Message" cols="50" rows="3" maxlength="100"></textarea>
</li>
</ul>
每当更改复选框时,您都必须更新隐藏字段:
$(function(){
$('#gift').change(function() {
$("#gift-true").val(($(this).is(':checked')) ? "yes" : "no");
});
});
使用jQuery .val()
来设置input元素的值。 jquery .is()
返回一个布尔值,因此你必须检查它是否为true
(使用if
语句或下面的三元运算符),然后有条件地更新该值。 此外, 只要选中/取消选中该框 ,您就应该更新此值:
$(document).ready(function(){
$('#edit-checkbox-id').change(function() {
$("#gift-true").val( this.checked ? "Yes" : "" );
}
});
此外,如果您的复选框是:
<input type="checkbox" name="gift" id="gift" class="checkbox" value="" />
适当的id选择器是$('#gift')
,而不是 $('#edit-checkbox-id')
$('#edit-checkbox-id').is(':checked')
根据复选框状态返回布尔值true / false。 因此,您应该将其用作条件,并使用val
jQuery方法决定要设置值的内容。 试试这个。
$("#gift-true").val( $('#edit-checkbox-id').is(':checked') ? "Yes": "No" );
你可以使用CSS Pseudo-classe例如:
var checked=$('input[id="#gift-true"]:checked').length;
var isTrue=false;
if(checked)
isTrue=true;
else
isTrue=false;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.