我想做的是捕捉占位符输入文本的内容。
这是我用来尝试捕获占位符值的jQuery代码:
$(document).ready(function(){
$(document).on('click','.btn-outline-secondary', function(e){
e.preventDefault();
var id = $(this).attr('rel');
alert(id);
var testo = $(this).closest('.input-group mb-3').find('.form-control').attr('placeholder');
alert(testo);
var thisObject = $(this).parent().parent().parent().parent();
var data_1 = 'testo=' + testo + '&id=' + id;
if(confirm("nome corretto?")){
$.ajax({
type: "POST",
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
data: data_1,
url: "php/nome_video.php"
})
.done(function(){
$(".div_check").show();
$('.div_check').fadeOut(2000);
});
}
});
});
这是页面的html代码:
$html .="<div class='div_testo'>";
$html .= "<div class='input-group mb-3'>";
$html .= "<input type='text' class='form-control' id='input-testo' placeholder='metti il nome del video' aria-label='nome del video' aria-describedby='basic-addon2'>";
$html .= "</div><!-- end input-group mb-3-->";
$html .= "<div class='input-group-append'>";
$html .= "<button class='btn btn-outline-secondary' type='button' rel='id=$rows1[id]'>SALVA</button>";
$html .= "<div class='div_check'><img src='./loghi/checkmark.svg' width='24' height='24'></div><!-- end checkmark -->";
$html .= "</div><!-- end input-group-append-->";
$html .= "</div><!-- end div_testo -->";
我使用了最接近的函数,因为据我所知,此函数在dom元素中向上移动,并且应该捕获与开始操作的元素最接近的元素。
我想念什么或做错什么了?
答案 0 :(得分:1)
var testo = $(this)
.closest('.div_testo')
.find('.input-group.mb-3 .form-control')
.attr('placeholder');
.div_testo
是您单击的元素和您要查找的元素的共享父元素。
.input-group.mb-3
不是按钮的父元素