如何在鼠标按下事件上更改类型复选框的 HTML 输入的值
How to change the value of HTML input of type checkbox on mouse down event
实现这一目标
的最佳方法是什么?这也应该(自然地)禁用默认的鼠标向上事件,默认情况下,这将更改复选框的值。
HTML:
<input type="checkbox" name="mycheckbox" value="checkme" />
JavaScript:
var checkbox = document.getElementsByName("mycheckbox")[0];
checkbox.addEventListener("mousedown", function(e){
if(!e){ e = window.event; }
//Stop checkbox from being toggled on IE9 & Other Browsers
if(e.stopPropagation){ e.stopPropagation(); }
//Stop checkbox from being toggled on IE8 and Lower
else{ e.cancelBubble = true; }
//Toggle the checkbox yourself instead
checkbox.checked = (checkbox.checked) ? true : false;
//And you can also change the value of the checkbox
checkbox.value="newvalue";
});
如何在复选框上设置单击功能
$(document).on('click', '#myCheckBoc', function(e){
e.preventDefault();
alert($(this).val()); //initial value
$(this).val('15');
alert($(this).val()); //changed value
});
小提琴
通过一些假设,我想出了这个工作代码片段:
如果您需要其他东西,请告诉我。
document.getElementById("checkboxValue").innerHTML = document.getElementById("checkbox").value;
document.getElementById("checkbox").onmousedown = function(e){
e.preventDefault();
alert("Changing checkbox value...");
this.value = "value2";
document.getElementById("checkboxValue").innerHTML = "value2";
};
<input type="checkbox" id="checkbox" value="value1" />
<p>Checkbox Value: <span id="checkboxValue"></span></p>
checkbox.onclick = (e) => e.preventDefault(); // disable built-in behaviour
checkbox.onmousedown = (e) => {
checkbox.checked = !checkbox.checked;
// if you need it to still fire 'change' event:
checkbox.dispatchEvent(new Event('change'));
}
其他答案要么禁用了错误的事件(e.preventDefault()
应该在click
上调用,而不是在mousedown
上调用),要么错过了mousedown
部分。
相关文章:
- 点击复选框并显示“;“新闻”;仅适用于该类型的类别
- 选中所有输入类型复选框
- 在输入类型数字更改时添加复选框
- 选中复选框时启用Javascript输入类型,未选中复选框则禁用
- 在复选框类型中单击文本框后选择文本框
- 如何使用jQuery验证插件根据输入类型=文本/单选/复选框验证表单
- 在复选框选择后验证输入类型文本
- 用户单击输入类型复选框时的条件检查
- 类型错误: 无法分配给只读属性“选中”复选框
- 如何在鼠标按下事件上更改类型复选框的 HTML 输入的值
- 如何使用 Javascript 或 jQuery 将输入类型复选框存储到 json 对象中
- 选中未选中类型的所有输入标记复选框
- 如何在jsp中插入单选按钮、复选框和其他输入类型
- jQuery验证输入类型复选框值
- 添加隐藏类型后,复选框无法禁用
- jstree不兼容的复选框和类型插件
- 输入类型复选框在引导模式中不起作用
- 如何将隐藏类型的输入转换为复选框类型的输入
- 编译输入类型文本、复选框、单选和选择标记时显示按钮
- 动态调用 Shopify 产品 ID 与 jquery 复选框类型添加到购物车