フォームを隠す問題がありました。私は列挙型にdriverType配列を持っています。列挙型からドライバフォームに文字列を渡すにはどうすればいいですか?PARTTIMEを選択すると、基本給フォームが非表示になりますか?Enumから文字列を取得してLaravel 5.3を生成する
は、ここに私の列挙型コードです:
<?php
namespace App\Helpers\Enums;
final class DriverType {
const EMPLOYED = 0;
const RENTAL = 1;
public static function getList() {
return [
DriverType::FULLTIME,
DriverType::PARTIME,
];
}
public static function getArray() {
$result = [];
foreach (self::getList() as $arr) {
$result[$arr] = self::getString($arr);
}
return $result;
}
public static function getString($val) {
switch ($val) {
case 0:
return "FULLTIME";
case 1:
return "PARTTIME";
}
}
}
?>
ここに私のDriverControllerコードだ:
public function render(View $view, $route = null, $obj = null, $method = 'POST') {
$driverTypeList = DriverType::getArray();
$view->with(compact('driverTypeList'));
return parent::render($view, $route, $obj, $method);
}
ここに私のドライバのフォームコードです:
<div id="basic-salary" class="form-group">
<label>Basic Salary:</label>
{!! Form::text('basic_salary', null, array('class' => 'form-control')) !!}
</div>
<div id="Type-option" value="Type-option" class="form-group">
<label>Type:</label>
{!! Form::select('type', $driverTypeList, null, array('class' => 'form-control')) !!}
</div>
<script>
$(function() {
var select = $('#Type-option');
select.on('change', function() {
if (select.val() == "PARTTIME") {
$('#basic-salary').hide();
} else {
$('#basic-salary').show();
}
});
});
</script>
任意のアイデア?
申し訳ありません。問題はフォームに文字列を渡す方法です。 –
selectboxのinspect要素を使用してブラウザのHTMLソースコードに表示されている内容を記述できますか? –