应根据投递箱选择

时间:2016-03-31 08:30:30

标签: jquery laravel-5

这是我的脚本代码。这有什么不对劲。

$(function() {
    $('#type').on('change', function() {
        if ($('#type').val('Workshop'))
            $('#color').val('Orange'));
        else if ($('#type').val('Social'))
            $('#color').val('Green');
        else if ($('#type').val('Other'))
            $('#color').val('Red'));

    });
});

以下是投放框和隐藏字段的形式。

{!! Form::select('type', array('type' => 'type','Workshop' => 'Workshop', 'Social' => 
    'Social','Other' => 'Other'), 'type', ['id' => 'type']) !!}
{!! Form::hidden('color','', ['id' => 'color']) !!}

3 个答案:

答案 0 :(得分:0)

您需要更新JavaScript函数中的代码才能进行有效检查,例如

if ( $(this).val() == 'Workshop' )
    $('#color').val('Orange'));
...

答案 1 :(得分:0)

您应该使用$(this).val()获取所选值,然后将其与字符串('Workshop','Social','Other')进行比较,$('#type').val('Workshop')会将值Workshop分配给#type元素:

$(function() {
    $('#type').on('change', function() {
        var selected_option = $(this).val();

        if (selected_option == 'Workshop')
            $('#color').val('Orange'));
        else if (selected_option == 'Social')
            $('#color').val('Green');
        else if (selected_option == 'Other')
            $('#color').val('Red'));

    });
});

希望这有帮助。

答案 2 :(得分:0)

val('Workshop')更改输入的值。 你可以用这个:

    if ( this.value=='Workshop' )
        $('#color').val('Orange'));

        if ( $(this).val()=='Workshop' )
        $('#color').val('Orange'));