【问题标题】:Exploding Value from Select Option Value选择选项值的爆炸值
【发布时间】:2015-08-23 19:09:16
【问题描述】:

现在我正在使用 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>

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

我该怎么做?

【问题讨论】:

  • 抱歉,在将表单发送到后端之前,您是想用PHP(可能在提交表单之后)还是用JS来炸?

标签: laravel laravel-5 explode


【解决方案1】:

首先,您在构建 HTML 时犯了一个错误。 &lt;select&gt; 有一个属性name,它将成为全局数组$_GET$_POST 中的键。 但是&lt;option&gt; 没有属性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>

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多