Javascript 只针对相关部门
我有一个div的结构如下:Javascript 只针对相关部门,javascript,jquery,Javascript,Jquery,我有一个div的结构如下: <div class="sez-form ripart"> <table class="inc_prev"></table> <div class="previsioni">A</div> </div> A. 在表“inc_prev”中,我有一个按钮,允许您添加另一组。因此,按下按钮,您将得到如下结构: <div class="sez-form ripart">
<div class="sez-form ripart">
<table class="inc_prev"></table>
<div class="previsioni">A</div>
</div>
A.
在表“inc_prev”中,我有一个按钮,允许您添加另一组。因此,按下按钮,您将得到如下结构:
<div class="sez-form ripart">
<table class="inc_prev"></table>
<div class="previsioni">A</div>
</div>
<div class="sez-form ripart">
<table class="inc_prev"></table>
<div class="previsioni">B</div>
</div>
A.
B
每个“inc_prev”表都有以下html:
<table class="inc_prev">
<tbody>
<tr>
<td><label>Mese: </label><select id="mese[]" name="mese[]"></td>
<td><label>Anno: </label><select id="anno[]" name="anno[]"></td>
<td><label>Percentuale: </label><input class="importo" type="text" name="percent[]" maxlength="14" size="15" value="">%</td>
<td><img class="addRow" src="../images/plus.png"></td>
</tr>
</tbody>
</table>
缅甸:
安诺:
百分比:%
这是我的JS:
$(document).on('blur','.importo',function(){
var input_value = $(this).val();
var azione =$('#azione').val();
if ($(this).closest('.sez-form').find('.previsioni').length) {
$('.previsioni').load('bp/ripart_prev.php?perc='+input_value+'&id='+azione);
}else{
console.log('qui');
$(this).closest('.sez-form').append('<div class="previsioni"></div>');
$('.previsioni').load('bp/ripart_prev.php?perc='+input_value+'&id='+azione);
}
});
$(document).on('blur','importo',function(){
var input_value=$(this.val();
var azione=$('#azione').val();
if($(this).closest('.sez form').find('.previsioni').length){
$('.previsioni').load('bp/ripart_prev.php?perc='+input_value+'&id='+azione);
}否则{
console.log('qui');
$(this).closest('.sez form')。append('');
$('.previsioni').load('bp/ripart_prev.php?perc='+input_value+'&id='+azione);
}
});
如果不存在“previsioni”div,它会附加该div,或者从DB加载内容时更新该div。在开始的情况下,它可以正常工作:以正确的方式添加或更新previsiondiv。如果我点击加号按钮并在这个JS被触发时添加第二个块,那么“previsioni”div就会被更新为相同的内容。
因此,我的问题是:“如何更改我的JS,以便在执行时只更新目标“previsioni”?”因此,如果我模糊第二个“importo”,则只更新“previsioni”(B)?如前所述,我已经在使用最近的,但这并不能阻止其他previsioni也被更新问题是,$('.previsioni')
将选择类中的所有现有元素。您需要重用该关系以特定的div为目标。在代码段中,我在对象中缓存了$(this).closest('.sez form')。find('.previsioni')
阅读内联评论
$(document).on('blur','importo',function(){
var input_value=$(this.val();
var azione=$('#azione').val();
//再次使用该关系遍历内容并将其缓存在vraible中
var previsioni=$(this).closest('.sez form').find('.previsioni');
//如果存在
if(previsioni.length){
load('bp/ripart_prev.php?perc='+input_value+'&id='+azione)
}否则{
console.log('qui');
//使用JQuery创建div
var div=$('');
//加载内容
div.load('bp/ripart\u prev.php?perc='+input\u value+'&id='+azione)
//附加数据
$(this).closest('.sez form').append(div);
}
});
是的,我知道我必须在ids上修复很多东西,所以。。。这仍然是一项正在进行的工作,重用我在页面应该以另一种方式工作时编写的一些代码,这要感谢所有的下载。JS还不是我喜欢的,有时我看不到解决方案,即使它就在我面前
$(document).on('blur','.importo',function(){
var input_value = $(this).val();
var azione =$('#azione').val();
//Use the relationship again to traverse and cache it in a vraible the content
var previsioni = $(this).closest('.sez-form').find('.previsioni');
//If exist
if (previsioni.length) {
previsioni.load('bp/ripart_prev.php?perc='+input_value+'&id='+azione)
}else{
console.log('qui');
//Create div using JQuery
var div = $('<div class="previsioni"></div>');
//Load the content
div.load('bp/ripart_prev.php?perc='+input_value+'&id='+azione)
//Append the data
$(this).closest('.sez-form').append(div);
}
});