从 $.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>");
     );
);

【讨论】:

如果 indexelement 变量对 HTML 不安全,我可能会选择 $('&lt;option&gt;').val(index).text(element).appendTo('#coach') 效果也很好:-)!

以上是关于从 $.load 获得的数组作为选择选项 Laravel Form的主要内容,如果未能解决你的问题,请参考以下文章

对象深度以获得所需的数组,numpy随机选择

使用jQuery .load()将数组从输入加载到PHP?

从反应选择反应中的选项中自动选择值

根据选项元素值选择变量名称

jQuery Chosen:如何从多项选择中获取所选选项文本的数组

JavaScript 根据使用数组从另一个下拉列表中的选择动态创建选项