Rails javascript 中的哈希值,访问值
Rails Hash in javascript, access values
我有以下 javascript 代码:
<input type="hidden" name="query_form_select_ops" id="query_form_select_ops" value='<%= schema%>' />
<script>
function select_pk2(cell){
var val = $('#query_form_opt_'+cell+'_1').val();
var opts = $('#query_form_select_ops').val();
}
</script>
示例:
schema
是一个典型的 ruby 散列:
{
"car"=>{"col"=>"blue", "engine"=>"HHd4M"},
"train"=>{"col"=>"black", "engine"=>"8495f"}
}
变量 val
有一个值 "train" 和 opts
整个 ruby 散列
要访问 ruby 中 train
的 col
和 engine
:架构 ["train"]。我怎样才能在 javascript 中做同样的事情?
我试过:
var select = opts[val]
但它告诉我 var 未定义。给定散列和其中一个键,如何访问 javascript 中 ruby 散列的值?
将 schema
哈希转储为 json,然后将其解析回 javascript。像这样:
<input type="hidden" name="query_form_select_ops" id="query_form_select_ops" value='<%= schema.to_json %>' />
和脚本:
function select_pk2(cell){
var val = $('#query_form_opt_'+cell+'_1').val();
var opts = JSON.parse($('#query_form_select_ops').val());
}
这样您应该能够以您想要的方式访问值。
您示例中散列的每个单独值也是散列,因此您可以使用适当的密钥访问它们。像这样:
opts['car']['col'];
我有以下 javascript 代码:
<input type="hidden" name="query_form_select_ops" id="query_form_select_ops" value='<%= schema%>' />
<script>
function select_pk2(cell){
var val = $('#query_form_opt_'+cell+'_1').val();
var opts = $('#query_form_select_ops').val();
}
</script>
示例:
schema
是一个典型的 ruby 散列:
{
"car"=>{"col"=>"blue", "engine"=>"HHd4M"},
"train"=>{"col"=>"black", "engine"=>"8495f"}
}
变量 val
有一个值 "train" 和 opts
整个 ruby 散列
要访问 ruby 中 train
的 col
和 engine
:架构 ["train"]。我怎样才能在 javascript 中做同样的事情?
我试过:
var select = opts[val]
但它告诉我 var 未定义。给定散列和其中一个键,如何访问 javascript 中 ruby 散列的值?
将 schema
哈希转储为 json,然后将其解析回 javascript。像这样:
<input type="hidden" name="query_form_select_ops" id="query_form_select_ops" value='<%= schema.to_json %>' />
和脚本:
function select_pk2(cell){
var val = $('#query_form_opt_'+cell+'_1').val();
var opts = JSON.parse($('#query_form_select_ops').val());
}
这样您应该能够以您想要的方式访问值。
您示例中散列的每个单独值也是散列,因此您可以使用适当的密钥访问它们。像这样:
opts['car']['col'];