Select 期权价值的爆炸式增长

Exploding Value from Select Option Value

现在我正在使用 Laravel 5。

我从 select 选项中获得了价值,如下所示:

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>

这里我需要把选项值展开,存入另一个文本域值。

我该怎么做?

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

如果你想在后端分离 billing_provider 的值 (php /w Laravel),请这样做。 在您处理表单提交的方法中:

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