gpt4 book ai didi

javascript - 不允许用户向 HTML 表添加重复值

转载 作者:行者123 更新时间:2023-11-28 16:53:03 25 4
gpt4 key购买 nike

我需要防止用户在单击“添加行”按钮时根据表中提到的月份向 HTML 表添加重复值。我尝试使用以下方法,但在检查重复值时它总是会跳过第一行。该图显示了我在重复时遇到的错误。

enter image description here

我尝试过的方法。

<select  id="month"  class="form-control">
<option value="Jan">Jan</option>
<option value="Feb">Feb</option>
<option value="March">March</option>
<option value="April">April</option>
</select>

<input type="number" id="amt5" />

<input type="button" class="btn" value="Add Row" onclick="ftm2add5()">

<table id="table5" class="table table-dark" border="1">
<thead>
<tr>
<th scope="col">Select</th>
<th scope="col">Month</th>
<th scope="col">T/O Value</th>
<th scope="col" style="display:none;">TORef</th>
</tr>
</thead>
<tbody>
<tr>

</tr>
</tbody>
</table>


function ftm2add5() {
var cat = $("#month").val();
var amt = $("#amt5").val();

var cate = $("#month option:selected").html();

if (amt == "") {
$("#amt5").addClass("red-border");
} else {
var allCells = $("#table5 tr td:nth-child(2)");
var textMapping = {};
allCells.each(function() {
textMapping[$(this).text()] = true;
});

var count = 0;
for (var text in textMapping) count++;

if (count !== allCells.length) {
alert("found duplicate values");
} else {
var markup =
"<tr><td><input type='checkbox' name='record'></td><td>" +
cate +
"</td><td style='display:none;'>" +
cat +
"</td><td>" +
amt +
"</td></tr>";
$("#table5 tbody").append(markup);
}
}
}

最佳答案

只需使用 jquery 选择器即可:

$('#table5 tr:contains("' + cat +'")').length

function ftm2add5() {
var cat = $("#month").val();
var amt = $("#amt5").val();

var cate = $("#month option:selected").html();

if (amt == "") {
$("#amt5").addClass("red-border");
} else {

if ($('#table5 tr:contains("' + cat +'")').length > 0) {
alert("found duplicate values");
} else {
var markup =
"<tr><td><input type='checkbox' name='record'></td><td>" +
cate +
"</td><td style='display:none;'>" +
cat +
"</td><td>" +
amt +
"</td></tr>";
$("#table5 tbody").append(markup);
}
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="month" class="form-control">
<option value="Jan">Jan</option>
<option value="Feb">Feb</option>
<option value="March">March</option>
<option value="April">April</option>
</select>

<input type="number" id="amt5" />

<input type="button" class="btn" value="Add Row" onclick="ftm2add5()">

<table id="table5" class="table table-dark" border="1">
<thead>
<tr>
<th scope="col">Select</th>
<th scope="col">Month</th>
<th scope="col">T/O Value</th>
<th scope="col" style="display:none;">TORef</th>
</tr>
</thead>
<tbody>
<tr>

</tr>
</tbody>
</table>

关于javascript - 不允许用户向 HTML 表添加重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59698263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com