我正在尝试在选中复选框时将输入值设置为1,并在取消选中时将其设置为空, 无法让它工作,请帮助。
<td id="check-box"><input type="checkbox" name="checkbox"></td>
<td id="qty-box"><input type="text" name="qtybox"></td>
<script type="text/javascript">
function setValue(a) {
if (a < 1) {
a = 1;
}
}
var qty = $('#qty-box [name="qtybox"]').val();
$("#check-box").click(function() {
if ($(this[name = "checkbox"]).attr('checked', true)) {
setValue(qty);
}
else {
qty = 0;
}
});
</script>
答案 0 :(得分:2)
尝试以下方法 -
<td id="check-box"><input type="checkbox" name="checkbox"></td>
<td id="qty-box"><input type="text" name="qtybox"></td>
<script type="text/javascript">
$(document).ready(function()
{
$("input[name='checkbox']").click(function()
{
if($(this).is(':checked'))
{
$("input[name='qtybox']").val("1");
}
else
{
$("input[name='qtybox']").val(""); // Change it to - val("0") -
//if you want to clear the text box with zero.
}
});
});
</script>
Here是一个很好的工作版演示。
答案 1 :(得分:1)
$('input[name="checkbox"]').change(function(){
$('input[name="qtybox"]').val($(this).is(':checked')?'1':'');
})
答案 2 :(得分:0)
这样做
$(function(){
$('input[name="checkbox"]').click(function(){
$('input[name="qtybox"]').val(0);
if($(this).is(':checked'))
{
$('input[name="qtybox"]').val(1);
}
});
});
答案 3 :(得分:0)
将id赋予输入使事情变得更加简单。
<td><input type="checkbox" id="check-box" name="checkbox"></td>
<td><input type="text" id="qty-box" name="qtybox"></td>
<script type="text/javascript">
$(function () {
$("#check-box").click(function () {
var qty = $('#qty-box');
if ($(this).prop('checked')) {
if (qty.val() < 1) qty.val(1);
} else {
qty.val(0);
}
});
});
</script>