【问题标题】:Search Through HABTM Checkbox/List搜索 HABTM 复选框/列表
【发布时间】:2012-08-05 08:45:38
【问题描述】:

我有这个联系表格,它也与其他一些具有 HABTM 关系的表格有关。它们以列表或复选框的形式显示在表单中。我想要的是能够在仍处于表单中的同时搜索它们以选择适用于我在表单中添加的联系人的那些。我不知道该怎么做——在想也许是 Javascript?

我所说的一个例子是当你在你的朋友列表中搜索时的 Facebook。

以下是联系人模型的 HABTM 关系:

    public $hasAndBelongsToMany = array(
    'Company' => array(
        'className' => 'Company',
        'joinTable' => 'companies_contacts',
        'foreignKey' => 'contact_id',
        'associationForeignKey' => 'company_id',
        'unique' => 'keepExisting',
        'dependent' => true,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'finderQuery' => '',
        'deleteQuery' => '',
        'insertQuery' => ''
    ),
    'Event' => array(
        'className' => 'Event',
        'joinTable' => 'contacts_events',
        'foreignKey' => 'contact_id',
        'associationForeignKey' => 'event_id',
        'unique' => 'keepExisting',
        'dependent' => true,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'finderQuery' => '',
        'deleteQuery' => '',
        'insertQuery' => ''
    ),
    'Screenoccupation' => array(
        'className' => 'Screenoccupation',
        'joinTable' => 'contacts_screenoccupations',
        'foreignKey' => 'contact_id',
        'associationForeignKey' => 'screenoccupation_id',
        'unique' => 'keepExisting',
        'dependent' => true,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'finderQuery' => '',
        'deleteQuery' => '',
        'insertQuery' => ''
    ),
    'Tapearchive' => array(
        'className' => 'Tapearchive',
        'joinTable' => 'contacts_tapearchives',
        'foreignKey' => 'contact_id',
        'associationForeignKey' => 'tapearchive_id',
        'unique' => 'keepExisting',
        'dependent' => true,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'finderQuery' => '',
        'deleteQuery' => '',
        'insertQuery' => ''
    ),
    'Relation' => array(
        'className' => 'Contact',
        'joinTable' => 'contacts_contacts',
        'foreignKey' => 'contact_id',
        'associationForeignKey' => 'related_id',
        'unique' => true,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'finderQuery' => '',
        'deleteQuery' => '',
        'insertQuery' => ''
    )
);

不确定我需要向你们展示哪些其他代码,所以请让我知道需要哪些代码,我会将它们添加到这个问题中。

谢谢!

【问题讨论】:

    标签: list cakephp search checkbox has-and-belongs-to-many


    【解决方案1】:

    您可以使用 jquery 插件为您完成这项工作。

    看来this one 符合您的标准。 Chosen 也不错。

    不管怎样,谷歌搜索一下所有可用的 jquery 插件,看看是否适合你的需要。

    【讨论】:

    • 谢谢。第一个似乎适合我的需要,但我在让它工作时遇到了一些麻烦。你能帮我么?这是我拥有的 HABTM 选择,我希望它使用那个 jquery 插件。 Form->input('Event', array('type'=>'select','multiple'=>'select')); ?> 有什么想法吗?
    • 只需在 php 中创建一个标准的多选,然后调用将对其进行转换的 javascript。
    • 对不起 ALS,我不知道该怎么做... 这段代码: Form->input('Event', array('type'=>'select ','多个'=>'选择')); ?> 自动创建一个多选。不知道该怎么做...
    • 是的,这就是必须要做的。然后简单地把 $("select").multiselect().multiselectfilter();在
    • Form->input('Event', array('type'=>'select','multiple'=>'select','class'=> '选择')); ?>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多