javascript - 如何从 Yiibooster 中的 TbSelect2 小部件检索 POST 数据?

标签 javascript php ajax forms yii

我正在使用 Yiibooster 的 TBselect2 小部件。我的观点代码是:

$this->widget(
        'bootstrap.widgets.TbSelect2',
        array(
            'name' => 'cat_names',
            'data' => Category::getRecipe(),
            'htmlOptions' => array(
                'multiple' => 'multiple',
                'class' => 'span3'
            )
        )
        );

渲染输出生成像“field”这样的自动完成输入,但是当我检查输入字段看起来相似的框时,它不是一个输入字段,而是一个包含带有所有选定项目的 UL 列表的 div 标签。

从自动完成框中选择所需的值后,我必须发布表单,但由于 TBSelect2 呈现的 HTML 不是输入字段,因此如何获取自动完成 TBSelect2 小部件生成的值,因为它不是表单字段?

P.S: 这是一个包含多个 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/

相关文章:

javascript - Ajax 就绪状态始终为 1

html - sIFR3 平滑和 IE

ajax - ID值从ajax传递但在Action方法中没有接收为什么?

ajax - Jquery 自动完成不显示结果

php - Symfony 4 Doctrine 2 findby dosent apply Join 和自定义 join 不起作用

php - 如何正确设置PHP set_error_handler

php - 在数据库列 MYSQL PHP 中插入长文本时出现问题

Javascript 事件 e.which?

javascript - 使用 Ajax 上传 DOM 图像 - 将图像转换为文件?

javascript - 在从我的 promise /功能返回之前等待 forEach 完成