2015-06-16 20 views
4

我在表单内部使用selectize.js,并希望从HTML中填充选项列表。我对版本0.12.0的发行说明的理解是,这应该可以使用“data-data”属性,但我无法使其工作或在任何地方找到完整的工作示例。选择数据数据的选项列表人口

我希望做这样的事情:

HTML:

<label for="leagues">Leagues:</label> 
<input type="text" id="leagues" name="leagues" class="form-control" value='aaa' data-data="[{'info': 'aaa'},{'info': 'bbb'}]"> 

与JS:

$('#leagues').selectize({ 
}); 

编辑:我有这个与"所以数据 - 工作替换“现在的数据是:“[{info ":" aaa "},{" info ":" BBB "}]”

遵循:现在的选项列表中填充如预期,但同时也覆盖了值标签,所以它似乎不可能渲染的n项的选项列表控制但与选择说3(这似乎是打败dataAttr的整点不?????)。

我可以使用文档中的States示例来完成这项工作 - 但这是使用而不是,所以返回一个值数组而不是逗号分隔列表。

那么......我该如何实现一个多重选择,发布一个逗号分隔列表,其中HTML选项设置不是js。

回答

1

最后得到了使用php数据的解决方案。

<option value="my_id" title="{{$category_name}}" data-data='<?php echo str_replace("'", "\'", json_encode(array('my_desc'=> {{$category_desc}})))?>'>{{$category_name}} </option> 

总之你可以这样写:

$array_in_json = (json_encode($selected_array)); 
$array_ready_for_tag =str_replace("'", "\'", $array_in_json); 

最后:

<select data-data='<?php echo $array_ready_for_tag;?>' ... > ... </select> 

注:使用单引号