如何使用jquery在循环中查找和替换
How to find and replace in loop with jquery
我在这里做了一些搜索,但找不到确切的答案来解决这个问题。我目前有一个动态div,在表单中添加了select元素。输入名称被放置为数组,这些div也可以动态删除。我需要找到一种方法,当用户删除这个div时,下面的div和输入就会被重命名。我希望这是有道理的。以下是用户删除包含输入字段的div后发生的情况的示例:
<div class="rooms" id="row1">
<input type="text" name="room[1][adults]">
<input type="text" name="room[1][children]">
</div>
<div class="rooms" id="row3">
<input type="text" name="room[3][adults]">
<input type="text" name="room[3][children]">
</div>
我需要能够循环浏览.roomsdiv,并在输入的name属性上查找和替换数字元素。因此,需要将room[3][adults]
更改为room[2][adults]
。循环运行时,一次最多可以有八个div。这是我的一个想法,但我不知道如何替换中间的一个数字。
var i = 1;
$(".rooms").each(function () {
var thisId = $(this).attr('id');
var numToFind = thisId.substr(thisId.length - 1);
$("#"+thisId).find("select[name='room["+numToFind+"][adults]']").replace( 'room["+numToFind+"][adults]','room["+i+"][adults]');
$("#"+thisId).find("select[name='room["+numToFind+"][children]']").replace( 'room["+numToFind+"][children]','room["+i+"][children]');
i = i + 1;
});
所以这几乎是我所能想到的,任何帮助实现这一点的人都将不胜感激!
存在多个问题
find()
返回一个没有replace()
方法的jQuery对象- 仅仅使用
replace
是不够的,您需要获取名称、替换内容并将其设置回
你可以使用一个简单的迭代,一个像一样的替换
var i = 1;
$(".rooms").each(function() {
$(this).find('input[name^=room]').attr('name', function(idx, name) {
return name.replace(/'['d+']/, '[' + i + ']');
});
i++;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="rooms" id="row1">
<input type="text" name="room[1][adults]">
<input type="text" name="room[1][children]">
</div>
<div class="rooms" id="row3">
<input type="text" name="room[3][adults]">
<input type="text" name="room[3][children]">
</div>
<div class="rooms" id="row3">
<input type="text" name="room[3][adults]">
<input type="text" name="room[3][children]">
</div>
<div class="rooms" id="row3">
<input type="text" name="room[3][adults]">
<input type="text" name="room[3][children]">
</div>
相关文章:
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 需要URL模板占位符查找和替换功能的输入
- 原型JS查找跨度并替换文本
- javascript:查找/替换regexp帮助-粗体、斜体和特定字符
- 查找并替换特定字符串
- Javascript 条件查找/替换
- jQuery 查找/替换大量文本
- 在jQuery中查找/替换HTML标签之间的字符串
- 如何用javascript查找/替换html
- 如何只在字符串的开头部分查找/替换不区分大小写
- 查找替换html使用javascript
- 使用Javascript查找替换URL的短部分
- 独特的查找/替换系统不工作
- 在画布上查找-替换
- 纯Javascript -查找/替换DOM中的单词列表
- Javascript查找替换
- 使用Regexp查找/替换文本
- 基本查找替换词
- 正则表达式或jQuery来查找/替换迭代计数
- 在Texareas内查找/替换WYSIWYG