gpt4 book ai didi

javascript - 如果数据不存在jQuery追加到表上

转载 作者:行者123 更新时间:2023-11-29 17:12:59 25 4
gpt4 key购买 nike

我有一个附加行数据的代码。我想要的是提醒用户是否要添加表中已存在的详细信息。

JSFIDDLE

$('#try').click(function() {   
var text = document.getElementById('add');
if($('#test td:contains("'+text.value+'")') == true) {
alert('not allowed');
}else{
$('#test').append('<tr><td>' + text.value + '</td></tr>');
}
text.value = '';
});

我的代码中发生的事情是,它不会在 :contains 行进行过滤。

我的代码有什么问题?

最佳答案

首先,您必须测试 jQuery 对象的长度以了解 DOM 中是否有元素:

if ($('#test td:contains("'+text.value+'")').length) {

但如果 text.value 包含任何破坏选择器的内容(例如引号),您的代码将失败,因此您最好直接使用 filter 测试内容:

var elems = $('#test td').filter(function(){
return this.innerHTML.indexOf(text.value) !== -1
});
if (elems.length) {

Fixed fiddle

实际上您想要的可能不是测试单元格是否“包含”该字符串,而是如果它仅包含该字符串(即,您想要允许 "test 21""test" 当已经有 "test 2" 时)。为此,您可以这样过滤:

var elems = $('#test td').filter(function(){
return $(this).text()===text.value
});
if (elems.length) {

Fiddle

关于javascript - 如果数据不存在jQuery追加到表上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20418516/

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