javascript - 由 laravel 发送的数组在我从 javascript 使用它时变得向后

标签 javascript php jquery laravel laravel-4

我在 Controller 中执行此操作

$actions = array('' => 'Select Action Name') + Action::lists('name' , 'id');

然后我将 $actions 数组发送到 View 。

在 Javascript 中:

<script>
    var actions = {{json_encode($actions) }};
    /*for (var key in actions){
        console.log(key, actions[key]);
    }*/
    var options = "";
    for(var key in actions){
        options = options+ ('<option value="'+key+'">'+actions[key]+"</option>");
    }
    var select = '<select name="action_id">' + options + "</select>";
    console.log(select);

</script>

打印 select 结果:

<select name="action_id">
    <option value="1">Remove White Space</option>
    <option value="2">extract map latitude</option>
    <option value="3">Extract map longitude</option>
    <option value="">Select Action Name</option>
</select> 

数组是向后的,因为第一个选项应该是带有 Select Action Name 的选项,但它是最后一个选项。

最佳答案

你需要给你的数组元素一个 0 的索引:

$actions = array(0 => 'Select Action Name');

关于javascript - 由 laravel 发送的数组在我从 javascript 使用它时变得向后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872060/

相关文章:

javascript - 构建 Javascript 数组数据

php - 位于索引的哪个位置

php - 显示 mysql 表中的多个下拉选项

javascript - 在 JavaScript 中使用事件克隆元素

javascript - 使用 CSS 设置 SVG 样式

javascript - 我能以某种方式阻止我的代码中的返回在表单元素之间添加间距吗?

javascript - jQuery .data() 返回值且未定义

javascript中的php变量问题

javascript - 主干网和 jquerymobile :can't disable routing

javascript - jQuery ajax,附有var的数据字段的名称