从 $.load 获得的数组作为选择选项 Laravel Form
Posted
技术标签:
【中文标题】从 $.load 获得的数组作为选择选项 Laravel Form【英文标题】:Array obtained from $.load as select options Laravel Form 【发布时间】:2018-01-09 11:12:58 【问题描述】:我目前正在开发一种动态生成的模式,以将我的应用程序的用户分配给导师。但是,这些指导者属于特定团队,因此只有来自用户团队的指导者应该是可以分配的选项。
我已经到了这一点,当用户被选中并启用分配新导师的选项时,会弹出一个模式。此模式显示用户(他们的姓名等)并使用以下代码:
$("#selected-coach").load(' route('admin.api.bulk_get_coaches') ?' + $.param(team: team_selected));
教练以这样的方式显示在模态中:
"1":"Madyson","2":"Lorenzo","3":"Hector"
这个数组是语法明智的,可以放入我的!! Form:select('mentor', *array of coaches*, ['class' => 'form-control']) !!
。这个 laravel 表单在我的模式中生成了一个选择/选项字段。但我无法弄清楚我对选择/选项字段中的数组的假设是什么?
【问题讨论】:
您可以使用 array_map 函数构建一个具有 id 和相应值的数组,然后将其传递给刀片 我认为你不应该使用$.load
。这用于获取一些 html 并将其注入到您的文档中。您的网址似乎正在返回 JSON
@Phil 使用$.getJSON
会更好吗?
我会这么说。你将无法在 Laravel 的 Form:select
助手中使用它,因为那是服务器端的。当您的 javascript 运行时,<select>
元素是否存在?如果有,它是什么样子的?
非常感谢@Phil!我调整代码以使用$.getJSON
、$(#mentor).empty();
获取JSON,并使用mentor.append("<option value='"+ index +"'>" + element + "</option>");
循环遍历JSON!
【参考方案1】:
感谢菲尔!
$.getJSON(' route('admin.api.bulk_get_coaches') ?' + $.param(team: team_selected), function(data)
$.each(data, function(index, element)
$('#coach').append("<option value='"+ index +"'>" + element + "</option>");
);
);
【讨论】:
如果index
或 element
变量对 HTML 不安全,我可能会选择 $('<option>').val(index).text(element).appendTo('#coach')
效果也很好:-)!以上是关于从 $.load 获得的数组作为选择选项 Laravel Form的主要内容,如果未能解决你的问题,请参考以下文章