Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只针对相关部门_Javascript_Jquery - Fatal编程技术网

Javascript 只针对相关部门

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的结构如下:

<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);
    }
});