Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.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 从laravel 5的下拉框中选择项目时,应更改隐藏的输入值_Javascript_Jquery_Laravel 5 - Fatal编程技术网

Javascript 从laravel 5的下拉框中选择项目时,应更改隐藏的输入值

Javascript 从laravel 5的下拉框中选择项目时,应更改隐藏的输入值,javascript,jquery,laravel-5,Javascript,Jquery,Laravel 5,这是我的投递箱,然后是隐藏的箱子。这些在表单中 <tr> <td> <b>{!! Form::label('Types', 'Type') !!}</b></td> <td> {!! Form::select('type', array('type' => 'type','Orange' => 'Orange', 'Red' => 'Red','Green' => 'Green

这是我的投递箱,然后是隐藏的箱子。这些在表单中

 <tr>
     <td> <b>{!! Form::label('Types', 'Type') !!}</b></td>

     <td> {!! Form::select('type', array('type' => 'type','Orange' => 'Orange', 'Red' => 'Red','Green' => 'Green'), 'type') !!}</td>
</tr>

{!! Form::hidden('color') !!}
<script>
    $(document).ready(function () {
        $('#type').on('change', function () {
            $('#color').val($(this).val());

        });

    });
</script>
脚本在表单后面

 <tr>
     <td> <b>{!! Form::label('Types', 'Type') !!}</b></td>

     <td> {!! Form::select('type', array('type' => 'type','Orange' => 'Orange', 'Red' => 'Red','Green' => 'Green'), 'type') !!}</td>
</tr>

{!! Form::hidden('color') !!}
<script>
    $(document).ready(function () {
        $('#type').on('change', function () {
            $('#color').val($(this).val());

        });

    });
</script>

隐藏的输入值在执行后变为空。我哪里错了。你能帮我解决这个问题吗?

试着按名称选择列表,如下所示:

$(document).ready(function () {
    $('[name="type"]').on('change', function () {
        $('#color').val($(this).val());
    });
});
因为您的代码中没有ids type、橙色、红色和绿色,因为Form::select只会生成一个select标记,其名称类型和选项具有值而不是ID,如下所示:

<select name='type'>
     <option value='type'>type</option>
     <option value='Orange'>Orange</option>
     <option value='Red'>Red</option>
     <option value='Green'>Green</option>
</select>
然后您将能够使用id选择器:

$('#type').on('change', function () {

希望这有帮助。

尝试按名称选择列表:

$(document).ready(function () {
    $('[name="type"]').on('change', function () {
        $('#color').val($(this).val());
    });
});
因为您的代码中没有ids type、橙色、红色和绿色,因为Form::select只会生成一个select标记,其名称类型和选项具有值而不是ID,如下所示:

<select name='type'>
     <option value='type'>type</option>
     <option value='Orange'>Orange</option>
     <option value='Red'>Red</option>
     <option value='Green'>Green</option>
</select>
然后您将能够使用id选择器:

$('#type').on('change', function () {

希望这有帮助。

将您的代码更改为此

{!! Form::select('type', array('type' => 'type','Orange' => 'Orange', 'Red' => 'Red','Green' => 'Green'), 'type', ['id' => 'type']) !!}
您需要将隐藏字段更改为

{!! Form::hidden('color', '', ['id' => 'color']) !!}

Laravel表单::select仅将名称添加到标记而不是id。由于jquery是按id选择的,因此无法从选项框中获取值。

将代码更改为此

{!! Form::select('type', array('type' => 'type','Orange' => 'Orange', 'Red' => 'Red','Green' => 'Green'), 'type', ['id' => 'type']) !!}
您需要将隐藏字段更改为

{!! Form::hidden('color', '', ['id' => 'color']) !!}


Laravel表单::select仅将名称添加到标记而非id。由于您的jquery是按id选择的,因此无法从选项框中获取值。

控制台中有任何错误吗?没有。未设置隐藏字段的值代码没有问题。你能用小提琴之类的东西再现那个错误吗?没有任何错误。我只需要知道根据drop Box的选定值设置隐藏字段的值在沙箱中重新创建时没有问题:检查Form::commands生成的html是否准确,或者不使用Form::commands,只编写html,控制台中etc etcAny错误?否。未设置隐藏字段的值。代码正常。你能用小提琴之类的东西再现那个错误吗?没有任何错误。我只需要知道根据drop Box的选定值设置隐藏字段的值在沙箱中重新创建时没有问题:检查Form::commands生成的html是否准确,或者不使用Form::commands,只编写html,etc etcStill它没有为隐藏字段设置值,因为我返回一个空值。隐藏字段还需要一个ID属性。如果将下拉列表设置为某个值,则应填充隐藏字段。您正在使用浏览器的开发人员控制台吗?您可以在选择时将值写入控制台,也可以简单地使用警报框。我在当前的laravel项目中尝试了该方法,但效果良好。对于隐藏字段,未设置值。但由于我返回空值,因此未设置隐藏字段的值。隐藏字段还需要ID属性。如果将下拉列表设置为某个值,则应填充隐藏字段。您正在使用浏览器的开发人员控制台吗?您可以在选择时将值写入控制台,也可以简单地使用警报框。我在当前的laravel项目中尝试了该方法,但效果良好。对于隐藏字段,请不要设置该值。