Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 复选框内的按钮?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 复选框内的按钮?

Javascript 复选框内的按钮?,javascript,jquery,html,Javascript,Jquery,Html,有没有办法在按钮内设置复选框 目前我有一个解决方案: <html> <body> <div id="menu"> <button><input type="checkbox" /></button> </div> </body> </html> 没关系,它在Chrome和Firefox上运行良好……但在IE上却非常糟糕,所以我需要另一种方法来实现这个目标 有

有没有办法在按钮内设置复选框

目前我有一个解决方案:

<html>
<body>
   <div id="menu">
     <button><input type="checkbox" /></button>
   </div>
</body>
</html>

没关系,它在Chrome和Firefox上运行良好……但在IE上却非常糟糕,所以我需要另一种方法来实现这个目标

有什么想法吗?
谢谢

这不是有效的标记,但是你可以用jquery欺骗IE-

<button>hi</button>
$('button').prepend('<input type="checkbox" />');
hi
$(“按钮”)。前置(“”);

演示:

我认为将
复选框
放在
按钮
中不是一个有效的标记。最好将
按钮
替换为
span
div
,并将一些
CSS
应用于
span
div
,使其看起来像
按钮
,然后将
单击
事件应用于该按钮,并更改
复选框
状态


我不完全确定您在这里想要实现什么,所以如果我的答案不是您想要的,请原谅我。如果你想要一个改变复选框状态的按钮,那么@thecodeparadox的答案应该很有用,但是如果你想要一个执行功能但里面有一个可切换复选框的按钮,你可能需要如下内容:

HTML:

<div id="button" href="#">
    <input type="checkbox" class="check">Submit
</div>​
body {
    margin: 10px;
}
#button {
    display: inline-block;
    background: #ddd;
    border: 1px solid #ccc;
    padding: 5px 10px;
    text-decoration: underline;
    color: blue;
    cursor: pointer;
}
.check {
    display: inline-block;
    margin-right: 10px;
}
$('#button').on('click', function() {
    window.location = '#';
})​
jQuery:

<div id="button" href="#">
    <input type="checkbox" class="check">Submit
</div>​
body {
    margin: 10px;
}
#button {
    display: inline-block;
    background: #ddd;
    border: 1px solid #ccc;
    padding: 5px 10px;
    text-decoration: underline;
    color: blue;
    cursor: pointer;
}
.check {
    display: inline-block;
    margin-right: 10px;
}
$('#button').on('click', function() {
    window.location = '#';
})​

我认为在
按钮中放置
复选框
不是一个有效的标记。最好是将按钮替换为
span
,并将一些CSS应用于
span
,使其看起来像
按钮,并将单击事件应用于该
span
,然后更改复选框OK,我可以尝试此操作,谢谢:>或者如果您需要在单击按钮时切换复选框,您可以使用
label
而不是
span
,这样您就可以在不使用javascript.Ack的情况下获得该行为,从而弄乱复选框?复选框设置布尔值,按钮执行操作。考虑重新考虑这个问题;有一个无效标记的原因。@Klemzy什么不起作用?请在这里解释一下或拉小提琴。。将你的代码放在Chrome、Edge上,而不是IE、Firefox上,所以最好避免使用,并使用建议的解决方法