如何创建一个按钮来改变从“全选”的功能选择none"在此Javascript代码中
How to create a button that changes function from "Select all" to "Select none" in the this Javascript code
下面是一段非常好的代码,带有选择一组选择框的全部或不选择的开关(源代码)。代码对我来说非常好,因为我计划用它做什么,因为有了这个javascript,很容易选择只有一个手动子集,而不是通过改变脚本中的"for"值来选择表单中的所有复选框。然而,我需要有一个按钮,既选择和取消选择复选框,而不是两个单独的按钮如下。网上还有其他可以做到这一点的代码示例,但这段代码对我来说更容易理解,对于我想到的目的,比我发现的其他代码示例更灵活,我无法将它们结合起来。我没有javascript的经验。让我沮丧的是,我不能得到一个满意的解决方案,但这可能并不难,如果你有更多的经验…希望有人能告诉我如何将下面的代码更改为一个按钮,将功能从"选择全部"更改为"选择无",一旦用户点击它,或者做一些具有相同效果的事情。
<form name="theForm">
My favorite programming/scripting language is:<p>
Select <a href="javascript:selectToggle(true, 'theForm');">All</a> | <a href="javascript:selectToggle(false, 'theForm');">None</a><p>
<input type="checkbox" name="answerswers[]" value="javascript">JavaScript<p>
<input type="checkbox" name="answerswers[]" value="perl">Perl<p>
<input type="checkbox" name="answerswers[]" value="php">PHP<p>
<input type="checkbox" name="answerswers[]" value="c++">C++
</form>
<script>
function selectToggle(toggle, form) {
var myForm = document.forms[form];
for( var i=0; i < myForm.length; i++ ) {
if(toggle) {
myForm.elements[i].checked = "checked";
}
else {
myForm.elements[i].checked = "";
}
}
}
</script>
非常感谢你的帮助。 您可以在页面作用域中使用一个变量(让我们将其命名为checked)来跟踪最后的选择状态。然后,您可以使用checked状态,而不是使用参数(在代码中切换参数)。
var checked = false;
function selectToggle(form) {
var myForm = document.forms[form];
for( var i=0; i < myForm.length; i++ ) {
if(checked) {
myForm.elements[i].checked = "checked";
}
else {
myForm.elements[i].checked = "";
}
}
checked = !checked;
}
var isChecked = fasle;
function selectToggle(form) {
var myForm = document.forms[form];
for( var i=0; i < myForm.length; i++ ) {
if(!isChecked) {
myForm.elements[i].checked = "checked";
isChecked = true;
}
else {
myForm.elements[i].checked = "";
isChecked = false;
}
}
}
,你可以使用像
这样的HTMLSelect <a href="javascript:selectToggle('theForm');">Select/Deselect</a> <p>
改变为
<form name="theForm">
My favorite programming/scripting language is:<p>
Select <a href="javascript:selectToggle('theForm');"><span id="selection">All</span></a><p>
<input type="checkbox" name="answerswers[]" value="javascript">JavaScript<p>
<input type="checkbox" name="answerswers[]" value="perl">Perl<p>
<input type="checkbox" name="answerswers[]" value="php">PHP<p>
<input type="checkbox" name="answerswers[]" value="c++">C++
</form>
<script>
var selected=false;
function selectToggle(form) {
var myForm = document.forms[form];
for( var i=0; i < myForm.length; i++ ) {
if(selected) {
myForm.elements[i].checked = "checked";
document.getElementById("selection").innerHTML="None";
}
else {
myForm.elements[i].checked = "";
document.getElementById("selection").innerHTML="All";
}
selected=!selected;
}
}
将表单更改为
<form name="theForm">
My favorite programming/scripting language is:<p>
Select <a id="allLink" href="javascript:selectToggle('theForm');">All</a><p>
<input type="checkbox" name="answerswers[]" value="javascript">JavaScript<p>
<input type="checkbox" name="answerswers[]" value="perl">Perl<p>
<input type="checkbox" name="answerswers[]" value="php">PHP<p>
<input type="checkbox" name="answerswers[]" value="c++">C++
</form>
并将脚本更改为:
<script>
var isAll = true;
function selectToggle(form) {
var myForm = document.forms[form];
for( var i=0; i < myForm.length; i++ ) {
if(isAll) {
myForm.elements[i].checked = "checked";
}
else {
myForm.elements[i].checked = "";
}
}
var mylink = document.getElementById("allLink");
isAll = !isAll;
mylink.innerText = (!isAll) ? "None" : "All";
}
</script>
一些简单的东西给你看:http://jsfiddle.net/aLnBL/2/
如果你能使用jQuery
JS
$(document).on('click', '#allLink', function() {
$('.languageSelect').not(':checked').attr('checked', 'checked');
$(this).html('None').attr('id', 'noneLink');
}).on('click', '#noneLink', function() {
$('.languageSelect:checked').removeAttr('checked');
$(this).html('All').attr('id', 'allLink');
});
$('.languageSelect').on('change', function() {
if($('.languageSelect:checked').length < 1 && $('#allLink').length < 1){
$('#noneLink').html('All').attr('id', 'allLink');
} else if($('.languageSelect').not(':checked').length < 1 && $('#allLink').length > 0) {
$('#allLink').html('None').attr('id', 'noneLink');
}
});
HTML <form name="theForm">
My favorite programming/scripting language is:
<p>Select <span id="allLink">All</span></p>
<ul>
<li><input class="languageSelect" type="checkbox" name="answerswers[]" value="javascript" />JavaScript</li>
<li><input class="languageSelect" type="checkbox" name="answerswers[]" value="perl" />Perl</li>
<li><input class="languageSelect" type="checkbox" name="answerswers[]" value="php" />PHP</li>
<li><input class="languageSelect" type="checkbox" name="answerswers[]" value="c++" />C++</li>
</ul>
</form>
相关文章:
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 删除CKEditor工具栏按钮,但不删除功能
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- 如果连接类型为none,则Javascript Function Only警报
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 正在获取select上的功能id
- Rhino打印功能
- 使用(navigator.geolocation)检测浏览器功能错误
- 列表样式在IE中未设置为none,但在IE中适用
- 如何创建一个按钮来改变从“全选”的功能选择none"在此Javascript代码中