【问题标题】:Hidden input value should be changed when selecting a item from drop box in laravel 5从 laravel 5 的下拉框中选择项目时,应更改隐藏的输入值
【发布时间】:2016-03-30 17:50:07
【问题描述】:

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

 <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>

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

【问题讨论】:

  • 控制台有错误吗?
  • 没有。未设置隐藏字段的值
  • 代码没问题。你能用小提琴之类的方法重现那个错误吗?
  • 没有任何错误。我只需要知道根据下拉框的选定值设置隐藏字段的值我错在哪里
  • 在沙箱中重新创建时没有问题:bootply.com/timCf3P7UY 检查Form:: 命令生成的html 是否准确,或者不要使用Form:: 命令而只编写html。 &lt;select id="type"&gt;&lt;input type="hidden" id="color"/&gt;,等等等等

标签: javascript jquery laravel-5


【解决方案1】:

把你的代码改成这个

{!! Form::select('type', array('type' => 'type','Orange' => 'Orange', 'Red' => 'Red','Green' => 'Green'), 'type', ['id' => 'type']) !!}

你需要把你的隐藏字段改成这个

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

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

【讨论】:

  • 仍然没有为隐藏字段设置值,因为我返回一个空值
  • 隐藏字段也需要一个ID属性。如果您将下拉设置为一个值,它应该填写隐藏字段。你在使用浏览器的开发者控制台吗?您可以在选择时将值写入控制台,也可以简单地使用警告框。
  • 我在我当前的 laravel 项目上试了一下,效果很好。
  • 对于隐藏字段不设置值。
【解决方案2】:

尝试按名称选择列表:

$(document).ready(function () {
    $('[name="type"]').on('change', function () {
        $('#color').val($(this).val());
    });
});

因为您的代码中没有ids#type,#Orange,#Red,#Green),因为Form::select 只会生成一个名称为type 的选择标签和选项有值而不是ids,如下所示:

<select name='type'>
     <option value='type'>type</option>
     <option value='Orange'>Orange</option>
     <option value='Red'>Red</option>
     <option value='Green'>Green</option>
</select>

因此,您尝试将 change 事件附加到 DOM 中未显示的元素。


或者您可以添加 id 使用:

{!! Form::select('type', array(...), 'type', ['id' => 'type']) !!}

然后你就可以使用id选择器了:

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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2011-08-03
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    相关资源
    最近更新 更多