提问者:小点点

如何在另一个div中查找最接近文本输入的内容


我有以下HTML:

<div class="panel-body">
    <div class="form-group row">
        <label class="col-sm-5 col-form-label">Date</label>
        <div class="col-sm-7">
            <input type="text" class="monthpicker hasDatepicker" id="inputMonth[0]"
                   name="inputMonth[0]" value="30/11/2019" />
        </div>
    </div>
    <div class="form-group row">
        <label class="col-sm-5 col-form-label">Expected</label>
        <div class="col-sm-7">
            <input type="text" class="form-control" id="inputCity"
                   name="inputCity[]" value="2750" />
        </div>
    </div>
    <div class="form-group row">
        <label class="col-sm-5 col-form-label">Costs</label>
        <div class="col-sm-7">
            <input type="text" class="form-control" id="inputCosts"
                   name="inputCosts[]" value="0" />
        </div>
    </div>
</div>

#InputCity框更改时,我希望能够选择最近的#InputCosts文本。 我使用的代码是:

$(document).on('input', '#inputCity', function() {
    var monthcost = $(this).closest('.panel-heading .form-group row')
                           .find("input[name='inputCosts[]']")
                           .val();  
    console.log(monthcost);
});

找到这个的正确方法是什么?


共1个答案

匿名用户

请选择.closest('.panel-body')

null

$(document).on('input', '#inputCity' , function() {
   var monthcost = $(this).closest('.panel-body').find("input[name='inputCosts[]']").val();  
   console.log(monthcost);
});
<div class="panel-body">
<div class="form-group  row"><label class="col-sm-5 col-form-label">Date</label>
<div class="col-sm-7"><input type="text" class="monthpicker hasDatepicker" id="inputMonth[0]" name="inputMonth[0]" value="30/11/2019"></div>
</div>
<div class="form-group  row"><label class="col-sm-5 col-form-label">Expected (city :D)</label>
<div class="col-sm-7"><input type="text" class="form-control" id="inputCity" name="inputCity[]" value="2750"></div>
</div>
<div class="form-group  row"><label class="col-sm-5 col-form-label">Costs</label>
<div class="col-sm-7"><input type="text" class="form-control" id="inputCosts" name="inputCosts[]" value="0"></div>
</div>
</div>


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>