带有正则表达式dos的jquery可排序表更新属性不起作用
为什么替换不起作用? 当我只使用计数器+1而不是“替换”时,它工作得非常好 我不知道为什么这不起作用,但必须有一个解决办法。我必须更改这个计数器,因为我想以相同的顺序将表条目保存在数据库中,并且要按顺序保存计数器编号带有正则表达式dos的jquery可排序表更新属性不起作用,jquery,html,css,jquery-ui,Jquery,Html,Css,Jquery Ui,为什么替换不起作用? 当我只使用计数器+1而不是“替换”时,它工作得非常好 我不知道为什么这不起作用,但必须有一个解决办法。我必须更改这个计数器,因为我想以相同的顺序将表条目保存在数据库中,并且要按顺序保存计数器编号 <table id="SCHEDULE_1346334" class="table table_striped table_hover"> <thead> <tr> <th>Zeit&l
<table id="SCHEDULE_1346334" class="table table_striped table_hover">
<thead>
<tr>
<th>Zeit</th>
<th>Monday</th>
<th>Tuesday</th>
<th>Wednesday</th>
<th>Thursday</th>
<th>Friday</th>
<th>Saturday</th>
<th>Sunday</th>
<th>
<button type="button" id="SCHEDULE_1346334_ADD" class="button add">+</button>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div class="form_group">
<input name="TIME_START_1" type="time" value="17:00" class="form_control"></input>
<div class="form_pend form_midpend">-</div>
<input name="TIME_STOP_1" type="time" value="21:00" class="form_control"></input>
</div>
</td>
<td>
<input name="MONDAY_1" type="checkbox" id="1346334_MONDAY_1" class="checkbox" checked></input>
<label for="1346334_MONDAY_1" class="label"></label>
</td>
<td>
<input name="TUESDAY_1" type="checkbox" id="1346334_TUESDAY_1" class="checkbox" checked></input>
<label for="1346334_TUESDAY_1" class="label"></label>
</td>
<td>
<input name="WEDNESDAY_1" type="checkbox" id="1346334_WEDNESDAY_1" class="checkbox" checked></input>
<label for="1346334_WEDNESDAY_1" class="label"></label>
</td>
<td>
<input name="THURSDAY_1" type="checkbox" id="1346334_THURSDAY_1" class="checkbox" checked></input>
<label for="1346334_THURSDAY_1" class="label"></label>
</td>
<td>
<input name="FRIDAY_1" type="checkbox" id="1346334_FRIDAY_1" class="checkbox" checked></input>
<label for="1346334_FRIDAY_1" class="label"></label>
</td>
<td>
<input name="SATURDAY_1" type="checkbox" id="1346334_SATURDAY_1" class="checkbox" checked></input>
<label for="1346334_SATURDAY_1" class="label"></label>
</td>
<td>
<input name="SUNDAY_1" type="checkbox" id="1346334_SUNDAY_1" class="checkbox" checked></input>
<label for="1346334_SUNDAY_1" class="label"></label>
</td>
<td>
<button type="button" id="SCHEDULE_1346334_DEL" class="button del">-</button>
</td>
</tr>
<tr>
<td>
<div class="form_group">
<input name="TIME_START_2" type="time" value="06:00" class="form_control"></input>
<div class="form_pend form_midpend">-</div>
<input name="TIME_STOP_2" type="time" value="07:00" class="form_control"></input>
</div>
</td>
<td>
<input name="MONDAY_2" type="checkbox" id="1346334_MONDAY_2" class="checkbox" checked></input>
<label for="1346334_MONDAY_2" class="label"></label>
</td>
<td>
<input name="TUESDAY_2" type="checkbox" id="1346334_TUESDAY_2" class="checkbox" checked></input>
<label for="1346334_TUESDAY_2" class="label"></label>
</td>
<td>
<input name="WEDNESDAY_2" type="checkbox" id="1346334_WEDNESDAY_2" class="checkbox" checked></input>
<label for="1346334_WEDNESDAY_2" class="label"></label>
</td>
<td>
<input name="THURSDAY_2" type="checkbox" id="1346334_THURSDAY_2" class="checkbox" checked></input>
<label for="1346334_THURSDAY_2" class="label"></label>
</td>
<td>
<input name="FRIDAY_2" type="checkbox" id="1346334_FRIDAY_2" class="checkbox" checked></input>
<label for="1346334_FRIDAY_2" class="label"></label>
</td>
<td>
<input name="SATURDAY_2" type="checkbox" id="1346334_SATURDAY_2" class="checkbox" checked></input>
<label for="1346334_SATURDAY_2" class="label"></label>
</td>
<td>
<input name="SUNDAY_2" type="checkbox" id="1346334_SUNDAY_2" class="checkbox" checked></input>
<label for="1346334_SUNDAY_2" class="label"></label>
</td>
<td>
<button type="button" id="SCHEDULE_1346334_DEL" class="button del">-</button>
</td>
</tr>
</tbody>
</table>
<script>
$("tbody").sortable(
{
stop: function(event, ui)
{
$(this).find("tr").each(function(COUNTER)
{
$ID = $(this).find("td input").attr("id").replace("/_\d+$/", COUNTER + 1);
$(this).find("td input").attr("id", $ID);
});
}
});
</script>
泽特
星期一
星期二
星期三
星期四
星期五
星期六
星期日
+
-
-
-
-
$(“tbody”)。可排序(
{
停止:功能(事件、用户界面)
{
$(this).find(“tr”).each(函数(计数器)
{
$ID=$(this).find(“td输入”).attr(“ID”).replace(“/\ud+$/”,计数器+1);
$(this.find(“td input”).attr(“id”,$id);
});
}
});
问题归结为在没有id
属性的元素上使用.attr(“id”)
。在表的第一列中,您有以下内容:
<td>
<div class="form_group">
<input name="TIME_START_1" type="time" value="17:00" class="form_control"></input>
<div class="form_pend form_midpend">-</div>
<input name="TIME_STOP_1" type="time" value="21:00" class="form_control"></input>
</div>
</td>
泽特
星期一
星期二
星期三
星期四
星期五
星期六
星期日
+
-
-
-
-
问题归结为在没有id
属性的元素上使用.attr(“id”)
。在表的第一列中,您有以下内容:
<td>
<div class="form_group">
<input name="TIME_START_1" type="time" value="17:00" class="form_control"></input>
<div class="form_pend form_midpend">-</div>
<input name="TIME_STOP_1" type="time" value="21:00" class="form_control"></input>
</div>
</td>
泽特
星期一
星期二
星期三
星期四
星期五
星期六
星期日
+
-
-
-
-
您定义了$NAME
,然后从不使用它。我不太明白。请提供一个最小的、可重复的示例:抱歉,这是一个最小的示例我没有看到任何HTML或jQuery库版本正在使用。jQuery是最新版本3.4.1。。现在还添加了html表当我运行代码时,我得到TypeError:$(…).find(…).attr(…)是未定义的
。您定义了$NAME
,然后从不使用它。我不太明白。请提供一个最小的、可重复的示例:抱歉,这是一个最小的示例我没有看到任何HTML或jQuery库版本正在使用。jQuery是最新版本3.4.1。。现在还添加了html表当我运行代码时,我得到了TypeError:$(…).find(…).attr(…)是未定义的
。好的,非常感谢,但是我不得不从正则表达式中删除引号:$(this)。find(“tr”)或$($,this)?我如何调用这个可排序函数,因为当我删除一行时,它不会更新ID…@x0tester0x请参见:“在内部,选择器上下文是通过.find()
方法实现的,所以$(“span”,this)
相当于$(this)。find(“span”)
”所以它只是一个简短的方法。@x0tester0x当您手动更新可排序项时,然后必须使用refresh
方法。查看更多信息:好的,非常感谢,但我必须删除正则表达式中的引号:$(this).find(“tr”)或$($”,this)之间的区别是什么?我如何调用此可排序函数,因为当我删除一行时,它不会更新ID…@x0tester0x请参见:在内部,选择器上下文是通过.find()
方法实现的,因此$(“span”,this)
相当于$(this).find(“span”)
“so