如何触发基于Laravel 4中旧输入的javascript事件


How to trigger a javascript event base on an old input in Laravel 4 ?

如何在Laravel 4中触发基于旧输入的javascript事件?

       The script work perfectly when select from dropdown menu.

在Laravel 4中,在我的一个编辑视图中,我尝试编辑一些物流信息。根据我的下拉菜单,我的表单的布局和行为将略有不同。

同样,从下拉菜单中选择脚本时,脚本可以完美运行

我根据旧输入加载了整个表单。一切都很好!只有脚本似乎没有基于加载的旧输入运行。

触发器不会改变,除非我开始从payment_method列表中选择一些东西,然后事情又开始工作了。

问题

是否有基于Laravel 4中的旧输入加载脚本?

表格详情 :

下拉菜单 ID = payment_method

  • 收款人已付
  • 托运人已付款

下拉菜单 ID = shipping_carrier - 联邦快递 - 敦豪

输入字段 ID = shipping_number ________

目标:

如果用户选择发件人已付款

  1. 禁用shipping_carrier
  2. 隐藏() 我的送货号码输入

  1. 启用shipping_carrier
  2. 启用发货编号输入(必填)

法典

<script type="text/javascript">
$( document ).ready(function() {
    $('#note').hide();
    $("#payment_method").change(function() {

        console.log($("#payment_method option:selected").val());

        if ($("#payment_method option:selected").val() == 2) {
            $('#shipping_carrier').prop('disabled', 'disabled');
            $('#shipping_carrier').val(1);
            $('#shipping_number').hide();
            $('#note').show();
            $('.shipping_carrier').hide();
        } else {
            $('#shipping_carrier').prop('disabled', false);
            $('#shipping_number').show();
            $('#note').hide();
        }
    });

})

边栏选项卡中的"编辑表单"的一部分

<div class="form-group ">
    <label class="col-sm-5 control-label required  " for="payment_method">Payment Method </label>
    <div class=" col-sm-7 form-group float-label-control">
        <div class="input-group">
            <span class="input-group-addon">
                <i class="ace-icon fa fa-dollar"></i>
            </span>
             {{Form::select('payment_method', array('1' => 'Receiver Paid', '2' => 'Shipper Paid'), isset($distributor->payment_method ) ? $distributor->payment_method  : 'Receiver Paid', array('id' => 'payment_method')); }}
        </div>
    </div>
</div>
<div class="form-group ">
    <label class="col-sm-5 control-label required  " for="shipping_carrier">Shipping Carrier </label>
    <div class=" col-sm-7 form-group float-label-control">
        <div class="input-group">
            <span class="input-group-addon">
                <i class="ace-icon fa fa-paper-plane-o"></i>
            </span>
             {{Form::select('shipping_carrier', array('FedEx' => 'FedEx', 'UPS' => 'UPS', 'DHL' => 'DHL', 'Nippon Express' => 'Nippon Express'), isset($distributor->shipping_carrier ) ? $distributor->shipping_carrier  : 'Receiver Paid', array('id' => 'shipping_carrier')); }}
        </div>
    </div>
</div>
<span value="" name="note" id="note"> My Company will paid for the shipping cost and bill to receiver. </span>
<div class="form-group">
    <label class="col-sm-5 control-label "> </label>
    <div class="col-sm-7 form-group float-label-control ">
        <span class="input-icon input-icon-right">
             {{Form::text('shipping_number', isset($distributor->shipping_number ) ? $distributor->shipping_number  : 'Receiver Paid', array('id' => 'shipping_number','placeholder'=>'Carrier Acct#')); }}
             {{ $errors->first('shipping_number','<a title=":message" class="btn btn-white btn-pink btn-sm"><span class="glyphicon glyphicon-remove "></span> :message </a>') }}
        </span>
    </div>
</div>

支持文件(图片):

  1. 已选择接收者付费
  2. 已选择发件人付款
<script type="text/javascript">
$( document ).ready(function() {
    $('#note').hide();
    $("#payment_method").change(function() {

        console.log($("#payment_method option:selected").val());

        if ($("#payment_method option:selected").val() == 2) {
            $('#shipping_carrier').prop('disabled', 'disabled');
            $('#shipping_carrier').val(1);
            $('#shipping_number').hide();
            $('#note').show();
            $('#shipping_carrier').hide();
            $('#shiping_carrier_label').hide();


        } else {
            $('#shipping_carrier').prop('disabled', false);
            $('#shipping_number').show();
            $('#note').hide();
            $('#shiping_carrier_label').show();
            $('#shipping_carrier').show();
        }
    }).trigger('change');                                   // Modified this line

})

只需简单地附加

.trigger('change')

到处理程序分配的末尾。现在,它的工作非常完美。