工作中遇到需求,就是form里面所有的checkbox,radio都是必填的。
原来的做法是写多个function进行检查,部分代码如下
function checkElement(c) {
for (var i=0;i<c.length;i++) {
if (c[i].checked) return true;
}
c[0].focus();
alert("请完成所有答题!");
return false;
}
需要传入要检查的radio或者checkbox。
原来的写法是要把所有要检查的object都写进去,比如
result=checkElement(form1.check_1)&&checkElement(form1.radio_2);
如果有10道8道还可以,如果多的话,就要写好多,还容易漏掉,出错。
这次有100多道题目,所以想用jquery来选择所有的checkbox和radio,然后再来检查。
代码如下:
var myt="";
//用于存储生成的js校验字符串
//每次load页面,只生成一次,第一次的速度还是有点慢的
function check() {
var result = true;
if (myt==""){
//如果没有myt,就选择所有要检验的element列表,用来校验。
var alle=$("select[@name='text_79'],input[@type='radio'],input[@type='checkbox']");
for (var i=0;i < alle.length;i++) {
var myobj = alle[i];
if (i==0||alle[i].name!=alle[i-1].name){
if (i>0) myt+="&&";
//根据不同的类型,调用不同的check function
//应该写成一个函数,在函数里面判断比较好:S
if (myobj.type!="select-one")
myt+="checkElement(form1."+myobj.name+")"+"\n";
else
myt+="checkText(form1."+myobj.name+")"+"\n";
}
}}
//最后执行拼出来的js语句
eval("result = "+myt+";");
if (!result) return false;
return true;
}
checkText是检验text的值的程度,是否为0,如果0就是未填写
花了点时间的是
var alle=$(”select[@name=’text_79′],input[@type=’radio’],input[@type=’checkbox’]”);
这一句,选择多个类型的element
但是上述写法有个问题,就是顺序和自然顺序不一样。还需要改进。
上面的and有点像union,如果是同一个element的属性的and,用下面的方法
$(”input[@name^=’S_’][@name$=’_R’]”).autocomplete(”autocomplete_backend.jsp”);
上面的是,input,名字以S_开始,并且以_R结束的元素。
分享到:
相关推荐
在《jQuery and jQuery UI Reference 1.2》的CHM文件中,你会找到详尽的API文档和示例代码,涵盖jQuery核心和jQuery UI的所有功能。这个文档可以帮助开发者快速查找所需的方法、属性和事件,是学习和开发过程中不可...
### Applied jQuery: Develop and Design — 关键知识点概览 #### 一、书籍基本信息与作者简介 - **书名**:《应用于实践的jQuery: 开发与设计》(Applied jQuery: Develop and Design) - **出版社**:Peachpit ...
1. **性能优化**:jQuery 1.4对内部函数进行了优化,尤其是在DOM操作和事件处理方面,提升了执行速度。 2. **新的选择器引擎Sizzle**:jQuery 1.4引入了Sizzle选择器引擎,提高了CSS选择器的支持度,使得开发者可以...
- jQuery的基本使用方法,包括选择器、事件处理、DOM操作等。 - jQuery插件的开发与使用。 - 如何通过jQuery优化用户交互体验。 3. **PHP与jQuery的结合**: - 如何在PHP应用程序中集成jQuery,实现前后端分离...
- 它通过提供一套丰富的API,让开发者能够更轻松地操作DOM元素,并实现各种网页特效。 - jQuery的核心理念是“write less, do more”,即用更少的代码做更多的事情。 3. **PHP与jQuery的结合使用:** - 在实际...
1. **属性选择器增强**:jQuery 1.6 引入了更精确的属性选择器,如 `[attr=value]`,可以区分属性值的赋值方式,比如 `checked`、`selected` 和 `disabled` 等。 2. **类操作改进**:`.addClass()`, `.removeClass...
标题中的“jquery_study_all and jquery_api and jquery_ui_1.8.6”表明这是一个关于jQuery学习、API参考以及jQuery UI 1.8.6版本的资料集合。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理...
3. **DOM操作**: jQuery提供了方便的API进行DOM操作,如`append()`、`prepend()`、`before()`和`after()`,用于在元素内部添加内容。 4. **事件处理**: 使用`on()`、`off()`、`click()`等方法可以绑定和移除事件...
在实现城市地图选择效果时,jQuery可以帮助我们更便捷地控制HTML元素,监听用户交互,并通过Ajax与服务器进行数据通信。 1. **jQuery基础操作**: - **选择器**: 使用jQuery的选择器,如`$("#id")`、`$(".class")`...
在IT行业中,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理、动画设计以及Ajax交互。在"jquery tree and paging"这个主题中,我们主要关注的是两个关键概念:jQuery的树形菜单和分页功能。 ...
所提供的"jquery and jquery ui reference 1[1].2.chm"文档,应包含jQuery和jQuery UI的详细参考信息,对于深入学习和解决问题非常有帮助。查阅此文档,可以更全面地掌握这两个库的功能和用法。 总的来说,jQuery和...
了解jQuery的性能优化技巧也很重要,如减少DOM操作、合并选择器和事件绑定,以及利用`$(document).ready()`替代`window.onload`以更快地执行代码。 总的来说,"jQuery和jQuery UI参考1.2"是学习和掌握这两个工具的...
在VS中,当开发者在编写jQuery代码时,可以利用这个文件提供的元数据信息进行智能提示,帮助快速理解和使用jQuery函数及方法。这个文件并不影响实际的运行,而是作为开发辅助工具,极大地提高了开发效率,减少了出错...
- jQuery基础语法:包括如何选择元素、绑定事件、创建动画等。 - jQuery的Ajax方法:如何使用jQuery进行异步数据交换,包括GET和POST请求的处理。 - jQuery插件:扩展jQuery功能的方法,包括介绍了如何使用流行的...
《锋利的jQuery》是一本深入解析jQuery库的书籍,它不仅涵盖了jQuery选择器的使用,还着重讲解了如何通过jQuery操作DOM(文档对象模型),以及如何在jQuery对象与原生DOM对象之间进行转换。由于书中内容丰富,知识点...
jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画效果和Ajax交互。它的简洁API使得编写JavaScript代码变得更加高效和简洁。在"jQuery And Select2 Demo.zip"这个压缩包中,我们很可能找到了一...
1. **选择器**:jQuery 的选择器基于CSS语法,使得选取DOM元素变得非常容易。例如,`$("#myID")` 选取ID为'myID'的元素,`$(".myClass")` 选取所有class为'myClass'的元素。 2. **DOM 操作**:jQuery 提供了一系列...