选择选项值的爆炸值

时间:2015-06-09 05:59:11

标签: laravel laravel-5 explode

现在我正在使用Laravel 5.

我从下面的选择选项中获得了价值:

select name="billing_provider"  onChange="changeLanguage(this.value)"> @foreach($tests as $test) 
option value="{{ $test->tax_id }},{{ $test->npi }}" name="billing_provider">
{{ $test->test_name }} </option>@endforeach </select>

这里我需要展开选项值并将其存储到另一个文本字段值中。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

首先,您在构建HTML时犯了一个错误。 <select>有一个属性name,它将成为全局数组$_GET$_POST中的关键字。 但是<option>没有属性name。你应该删除它。

如果要在后端(php / w Laravel)中分隔billing_provider的值,请执行此操作。 在处理表单提交的方法中:

$input = Input::get('billing_provider');
$billing_provider = explode(',', $input);
//Now $billing_provider[0] === $test->tax_id
//And $billing_provider[1] === $test->npi

或者如果您想在表单提交之前执行此操作并且您正在使用jQuery,那么您可以这样做: https://jsfiddle.net/17fkpqbe/

JavaScript(/ w jQuery):

$(document).ready(function() {
    $('select').change(function() {
        $('.inputs').html('');
        var $explodedVal = $(this).val().split(',');
        for(i = 0; i < $explodedVal.length; i++) {
            $('.inputs').append('<input value="' + $explodedVal[i]+'">');
        }
    });
});

HTML:

<select>
    <option></option>
    <option value="123,555">Some Name 1</option>
    <option value="123,444">Some Name 2</option>
    <option value="123,333,555">Some Name 3</option>
</select>
<div class="inputs"></div>