首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何进行相关搜索(由用户通知)

如何进行相关搜索(由用户通知)
EN

Stack Overflow用户
提问于 2015-05-12 03:58:54
回答 2查看 75关注 0票数 1

我有很多这样的复选框:

用户将选中每个复选框的一个参数以进行搜索。

如何根据用户提示进行相关搜索?没有义务选择每个复选框中的一个。

我的JS:

代码语言:javascript
运行
复制
var checkeds = new Array();
$("input[name='marcar[]']:checked").each(function (){
    checkeds.push( $(this).val());
});
var obj = $("#paramsPesquisa");
if($(obj).find("input[id='cd_seq_pedido']:checked").length > 0){
    var cd_seq_pedido = $(obj).find("input[id='cd_seq_pedido']:checked").val();
}else{
    var cd_seq_pedido = "";
}

我的Ajax:

代码语言:javascript
运行
复制
$.ajax({
    type: "POST",
    url: "/pedidoOnline/index.php/Pedidos/checkbox_marcados",
    data: {
        'marcar':checkeds,
        'cd_seq_pedido': cd_seq_pedido,
        'cd_pedido': cd_pedido
    },
    success: function(data){
        console.log(data);
    } 
});

在我的控制器上,我如何进行这个查询?

代码语言:javascript
运行
复制
$pesquisa = $this->PesquisaPedOnline->find('all', array(
    'fields' => array('cd_seq_pedido', 'cd_pedido', 'ds_cpl_tamanho_interno'),
    'conditions' => array(?????)
));

如果需要更多信息,我会说,如果我不能解释清楚,很抱歉。

EN

回答 2

Stack Overflow用户

发布于 2015-05-12 04:50:28

在Cake中构建条件数组时,需要指定每个复选框值对应的字段。例如:

代码语言:javascript
运行
复制
$conditions = array(
    'ModelName.fieldname1' => 'value1', // a single checkbox value
    'ModelName.fieldname2' => 'value2, value3, value4', // multiple checkbox values
    // etc...
);

为了能够像这样构造$conditions数组,您需要在ajax调用中向控制器传递更多信息。我建议构造一个JSON对象,这样你就可以构建类似{'fieldname1':'value1, value2'}的东西了。

此外,您可能需要考虑如何删除用户取消选中的项目。

票数 0
EN

Stack Overflow用户

发布于 2015-05-12 05:05:10

使用搜索插件:https://github.com/cakedc/search

这个名称有点误导人,它实际上实现了PRG模式,并处理POST请求到搜索条件的转换。

这比手动对POST数据进行大量的if-else检查要干净得多。只要看一下示例和教程,它就非常简单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30176583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档