"> " val-6ren">
gpt4 book ai didi

javascript - jquery 选择器中的动态 ID 不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 21:49:22 26 4
gpt4 key购买 nike

我试过了,但是 ajax 调用了两次 PHP 文件或 Diplaying else 部分两次。请帮我。我在按钮中调用了 editCat()

编辑 HTML

<button class="btn btn-primary btn-xs" onclick="editCat(<?php echo $row['id']; ?>)">
<span class="glyphicon glyphicon-edit"></span>
</button>
<div id="edittextdiv_<?php echo $row['id']; ?>">
<input type="text" name="" placeholder="Enter categorie name" id="edittextinput_<?php echo $row['id'];?>" value="<?php echo $row['name']; ?>">
</div>

JS

function editCat(id) {
$('#edittextdiv_'+id+'').toggle();
$('#edittextinput_'+id+'').keyup(function(event){
var category = $(this).val();
var firstletter = category.charAt(0);
var capitalreg = new RegExp(/^[A-Z]*$/);
if(capitalreg.test(firstletter) && category != ''){
if(event.keyCode == 13){
$.ajax({
url:"edit_cat.php",
type:"post",
dataType:"json",
data:{category:category, item_id:id},
success:function(response) {
if (response.success == true) {

}
}
});
}
} else {
$('#edittextinput_'+id+'').after("<p class='text-danger'>Enter first letter in capital</p>");
}
});
}

最佳答案

你可以避免使用
$('#edittextinput_'+id+'').keyup() 因为没有必要在另一个函数中调用 keyup 函数

请在输入按钮中调用onkeyup javascript 函数

  <input type="text" name="" placeholder="Enter categorie name" id="edittextinput_<?php echo $row['id'];?>" value="<?php echo $row['name']; ?>" onkeyup="editCat('<?php echo $row['id'];?>',this)" >

请看我的代码片段

function check_key(id,cc,event) {

/*$('#edittextdiv_'+id).toggle(); toggle */
var x = event.which || event.keyCode;
var jq = $(cc);
var category =jq.val();
var firstletter = category.charAt(0);
var capitalreg = new RegExp(/^[A-Z]*$/);
if(capitalreg.test(firstletter) && category != ''){

if(event.keyCode == 13){
alert('ajax code');
$.ajax({
url:"edit_cat.php",
type:"post",
dataType:"json",
data:{category:category, item_id:id},
success:function(response) {

if (response.success == true) {

}
}
});
}
}else {
/*alert('else code')*/
$('#edittextinput_'+id).after("<p class='text-danger'>Enter first letter in capital</p>");
}
}
function editCat(id) {

$('#edittextdiv_'+id+'').toggle();

var category = $('#edittextinput_'+id+'').val();
var firstletter = category.charAt(0);
var capitalreg = new RegExp(/^[A-Z]*$/);
if(capitalreg.test(firstletter) && category != ''){
$.ajax({
url:"edit_cat.php",
type:"post",
dataType:"json",
data:{category:category, item_id:id},
success:function(response) {
if (response.success == true) {

}
}
});
} else {
$('#edittextinput_'+id+'').after("<p class='text-danger'>Enter first letter in capital</p>");
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="edittextdiv_1">
<input type="text" name="1" placeholder="Enter categorie name" id="edittextinput_1" onkeyup="check_key('1',this,event)" value="test">
</div><br>
<button class="btn btn-primary btn-xs" onclick="editCat(1)">
test
</button>

关于javascript - jquery 选择器中的动态 ID 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46701942/

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