l 问题
在一个表单中,我需要把同一行中的任意两个元素的值累加,并把累加的值赋值到第三个元素。
l 技术
jquery 中的parent([expr]) , parents([expr]),
find([expr]),prev(),next()
l 分析
看到这个问题,就会想到,首先要得要被赋值元素的位置,以它的坐标为起点,查找另外两个元素,因为这三个元素在同一行,所以我们可以用jquery中的parent()或parents()这两个方法,得到它的父元素:
parent():取得一个包含着所有匹配元素的唯一父元素的元素集合。
Parents():取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
得到父元素后,在父元素中用find()方法,得到想要的元素进行运算即可。
l 代码
jquery 代码:
方法1:
$("input[name='name4']").each(function(){
$(this).val(parseInt($(this).parent("td").prev().find("input").val())+parseInt($(this).parent("td").prev().prev().find("input").val()));
}); //此方法,当表单中的元素发生位移时,就会出现问题。
方法2:
$("input[name='name4']").each(function(){
$(this).val(parseInt($(this).parents("tr").find("input[name='name3']").val())+parseInt($(this).parents("tr").find("input[name='name2']").val()));
}); //此方法,当表单中的元素发生位移时,程序可正常运行。
页面代码:
<form>
<table>
<tr>
<td><input type="text" name="name1" value="2"></td>
<td><input type="text" name="name2" value="33"></td>
<td><input type="text" name="name3" value="1"></td>
<td><input type="text" name="name4" value=""></td>
<td><span>123</span></td>
</tr>
<tr>
<td><input type="text" name="name1" value="2"></td>
<td><input type="text" name="name2" value="33"></td>
<td><input type="text" name="name3" value="5"></td>
<td><input type="text" name="name4" value=""></td>
<td><span>123</span></td>
</tr>
</table>
</form>
l 总结
这个问题主要体现了parent([expr]) , parents([expr])的不同。后者会使程序的可靠性更高,所以程序中应尽量使用后者。
分享到:
相关推荐
值得注意的是,.val()方法获取的是表单元素的值,即如果input元素的type为text,那么返回的就是文本内容;如果input元素的type为checkbox,那么返回的是布尔值,即该复选框是否被选中;如果是radio类型,则返回被...
"jQuery复制移除表单元素代码.zip"这个资源包含了一个使用jQuery 1.7.2版本实现的功能,即动态复制和删除表单元素。以下是关于这个主题的详细知识点: 1. **jQuery基本概念**: - jQuery是John Resig于2006年创建...
本文详细介绍了如何使用jQuery来获取和控制不同类型的表单元素。掌握了这些基本操作后,开发者能够更加高效地处理用户输入的数据,提高Web应用的功能性和用户体验。此外,需要注意的是,在实际开发中还应考虑表单...
对于某些情况,如果需要在不同的环境下重用相同的隐藏逻辑,还可以考虑将隐藏表单元素的逻辑封装到一个函数中,这样可以在需要时重复调用,保持代码的复用性和可维护性。 需要注意的是,表单元素的隐藏通常会影响...
**jQuery表单选择器源码解析** jQuery是一个广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画效果以及Ajax交互。在jQuery中,表单选择器是用于高效地定位和操作HTML表单元素的重要工具...
在jQuery中,使用`val()`方法可以方便地对表单元素(如输入框、文本区域)的值进行设置或获取。例如,如果你想为ID为`exampleInput`的输入框赋值,你可以这样做: ```javascript $("#exampleInput").val("新值"); `...
(10)查找表单元素中是否有id值为checkbox5的元素 提示: 为某dom元素应用某css样式可以使用jQuery中的addClass方法,例如:将id为tt的div元素应用.bt样式,可用些语句:$("#tt").addClass("color","red");
**HTML**(HyperText Markup Language)是网页制作的基础,而**form**元素则是HTML中的表单标签,用于创建用户输入数据的区域。在HTML表单中,我们可以定义各种输入字段,如文本框、密码框、复选框、单选按钮等,...
jQuery的核心特性包括选择器(用于高效地查找DOM元素)、链式调用(允许连续执行多个方法)以及封装Ajax操作,使得与服务器端的数据交换更加便捷。 在【标题】"带完成百分比的jQuery表单插件"中,提到的完成百分比...
专门用于处理表单元素的选择器: - `$("input:text")`选取所有的文本输入框。 - `$("input:checkbox")`选取所有的复选框。 - `$("input:radio")`选取所有的单选按钮。 - `$("input:submit")`选取所有提交按钮。 - `...
但为了充分利用其样式和增强功能,需要给表单元素添加特定的类或数据属性。例如,`<form>` 标签应包含 `data-role="none"` 属性来防止 jQuery Mobile 自动增强表单,然后手动应用增强效果。 2. **表单组件**:...
在问卷表单中,这可能是用于选取特定的表单元素,如单选按钮(radio buttons)和问题文本。 2. **事件处理**:jQuery允许绑定事件监听器到DOM元素上。在问卷表单中,可能会为单选按钮绑定点击事件,当用户选择答案...
用户输入搜索关键字后,代码会查找页面中与关键字匹配的元素,并将这些元素的内容高亮显示。这通常涉及到对HTML文本的正则表达式匹配和DOM操作,如添加或移除CSS类来改变匹配文本的样式。 在提供的文件列表中: 1. ...
jQuery库本身提供了丰富的DOM操作、事件处理和动画效果,而表单插件则是在此基础上进一步扩展,专注于表单元素的交互、验证、美化等功能。在本主题中,我们将深入探讨jQuery表单插件的核心概念、常用插件以及它们...
1. **DOM操作**:jQuery提供了一套简便的API来查找、添加或修改HTML元素,如选中表单元素、修改输入框的值或显示/隐藏元素。 2. **事件处理**:通过`.on()`方法,我们可以绑定点击、提交等事件,当用户与表单交互时...
jQuery迷你帮助:查找功能 jQuery,作为一款广泛使用的JavaScript库,极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。这款"jQuery迷你帮助 查找功能"是专门为开发者设计的一个实用工具,它允许用户在输入框...
本文将详细介绍如何使用 JQuery 进行表单元素的取值和赋值操作,并深入探讨 JQuery 提供的各种高级选择器。 #### 二、表单取值与赋值基础 在 Web 开发中,表单数据的获取和设置是常见需求之一。使用 JQuery 可以...
2. **初始化插件**:在文档加载完成后,使用jQuery的选择器找到表单元素,并调用`formAnimationPlugin`方法进行初始化。 ```javascript $(document).ready(function() { $('form').formAnimationPlugin(); }); ``` ...