现在我正在使用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>
这里我需要展开选项值并将其存储到另一个文本字段值中。
我该怎么做?
答案 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>