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项目中尝试了该方法,但效果良好。对于隐藏字段,请不要设置该值。