我正在为Yiibooster使用TBselect2小部件。我认为的代码是:
$this->widget(
'bootstrap.widgets.TbSelect2',
array(
'name' => 'cat_names',
'data' => Category::getRecipe(),
'htmlOptions' => array(
'multiple' => 'multiple',
'class' => 'span3'
)
)
);
渲染输出生成自动完成输入,例如“ field”,但是当我检查输入字段类似的框时,它不是输入字段,而是一个div标记,其中包含所有选定项的UL列表。
从自动完成框选择所需的值后,我必须过帐表单,但是由于TBSelect2呈现的HTML不在输入字段中,因此我如何获取由自动完成TBSelect2小部件生成的值,因为它不是表单字段?
附言:这是一个包含多个html元素的长表单,所以我不想使用Ajax提交表单。
有什么帮助吗?
最佳答案
如果在浏览器中使用开发人员工具,则会看到一个输入框和一个选择框。您的代码应如下所示:
<div class="select2-container" id="s2id_options" style="width: 100%;">
<a href="javascript:void(0)" onclick="return false;" class="select2-choice select2-default" tabindex="-1">
<span class="select2-chosen">Select or start typing name.</span>
<abbr class="select2-search-choice-close"></abbr>
<span class="select2-arrow"><b></b></span>
</a>
<input class="select2-focusser select2-offscreen" type="text" id="s2id_autogen2">
</div>
<select name="cat_names" id="cat_names" tabindex="-1" class="select2-offscreen">
//Your options
</select>
选择框
cat_names
在POST上将自动具有正确的值。因此,如果您查看$_POST['cat_names']
,它应该具有在Select2输入中选择的值。关于javascript - 如何在Yiibooster中从TbSelect2小部件检索POST数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23220505/