首页 > 解决方案 > 在 div 选择后使用 Ajax 和 Jquery 更新其他 div

问题描述

我想在选择某个 Div 后更新 div。实际上我在 Laravel(php) 中查询我的结果并且 AJAX 正在请求。我试图更新 div 但没有成功。在这种情况下选择药物后价格应该自动加载到它的 div 中。还有一些工作要做,但是这方面的指南可以帮助我。

<div  class="form-group {{ $errors->has('drugid') ? ' has-error' : '' }}">
                                    <label class="col-sm-2 control-label">Item Name <span class="highlight-text"> *</span>:</label>
                                    <div class="col-sm-10">

                                                <select  id="drugid" name="drugid"   class="form-control select2" data-placeholder="Select Item..">
                                                 <option value="{{old('drugid')}}">{{old('drugid')}}</option>
                                                   <!-- @foreach($drugs as $pdrugz)
                                                <option value="{{$pdrugz->id}}"> {{$pdrugz->drug_name }} - {{$pdrugz->refno }}</option>
                                                  @endforeach -->
                                                  <?php
                                                    DB::table('med_drugs')->where('cur_bal', '>',0)->where('archieved_status','=',null)->orwhere('archieved_status','!=','Yes')->orderBy('id')->chunk(10000, function ($drugs) {
                                                   foreach ($drugs as $pdrugz) {
                                                       ?>
                                                      <option value="{{$pdrugz->id}}"> {{$pdrugz->drug_name }} - {{$pdrugz->bar_code_number }} - [ Stock: {{$pdrugz->cur_bal }} ] - [ Price: {{$pdrugz->current_sp }} ]</option>
                                                   <?php     }
                                                   });?>
                                                    </select>
                                                    @if ($errors->has('drugid'))
                                                        <span class="help-block">
                                                <strong>{{ $errors->first('drugid') }}</strong>
                                            </span>
                                           @endif

                                    </div>
                                </div>

                                <div  class="form-group {{ $errors->has('current_sp') ? ' has-error' : '' }}">
                                    <label class="col-sm-2 control-label">Price <span class="highlight-text"> *</span>: </label>
                                    <div class="col-sm-10">
                                        <input readonly type="text" id="price" name="price[]" value="" class="form-control price"/>

                                     @if ($errors->has('current_sp'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('current_sp') }}</strong>
                                    </span>
                                @endif  
                                    </div>
                                </div>

Ajax 和 Jquery 调用

 $('#div').on('#drugid','change',function(){

    var classes = $(this).parent().closest('div').attr('class').split(' '); 
    var $div = $(this).parent().attr('class');
     var id = $(this).closest('div').find('.drugid').val();
     var dataId={'id':id};

    $.ajax({
        type    : 'GET',
        url     : '{!!URL::route('findPrice')!!}',
        dataType: 'json',
        data    : dataId,
        success:function(data){
        //check promotion
        var varDate = new Date(data.promo_endate); //dd-mm-YYYY
        var today = new Date();
        today.setHours(0,0,0,0);

        if(data.promo_status == 'Active' && varDate >= today){

            alert($(this).parents('.form-group').parent('div').find('.price').val());
        } 
        else{

             alert($(this).parents('.form-group').parent('div').find('.price').val(current_sp));

        }
       }
    }); 
}); 

标签: jqueryajax

解决方案


没有 id 为 div (id="div") 的元素。但是您正在尝试选择一个元素id="div"使用$("#div")

既然你想听 试试这个代码change#drugid

$("#drugid").change(function(){
    // Your code here
});

希望这对您有所帮助。:) 快乐编码


推荐阅读