小编Eth*_*rne的帖子

如何在yii2中实现单个搜索表单

Yii2有一个searchModel搜索的每个字段GridView.是否可以GridView在用户可以输入关键字的位置之外创建单个搜索字段,并且在按下搜索按钮时,结果将GridView根据输入的关键字显示.

CONTROLLER

public function actionIndex()
{
    $session = Yii::$app->session;
    //$searchModel = new PayslipTemplateSearch();

    $PayslipEmailConfig = PayslipEmailConfig::find()->where(['company_id'=> new \MongoId($session['company_id'])])->one();

    $payslipTemplateA = PayslipTemplate::find()->where(['company_id' => new \MongoId($session['company_id'])])->andwhere(['template_name' => 'A'])->one();
    $payslipTemplateB = PayslipTemplate::find()->where(['company_id' => new \MongoId($session['company_id'])])->andwhere(['template_name' => 'B'])->one();

    $pTemplateModel = PayslipTemplate::find()->where(['company_id' => new \MongoId($session['company_id'])])->all();
    $user = User::find()->where(['_id' => new \MongoId($session['user_id'])])->one();
    $module_access = explode(',', $user->module_access);

    //$dataProvider = User::find()->where(['user_type' => 'BizStaff'])->andwhere(['parent' => new \MongoId($session['company_owner'])])->all();
    $searchModel = new UserSearch();
    $dataProvider = $searchModel->search(Yii::$app->request->queryParams);

    return $this->render('index', [
        'PayslipEmailConfig' => $PayslipEmailConfig,
        'dataProvider' …
Run Code Online (Sandbox Code Playgroud)

php search gridview yii2

8
推荐指数
1
解决办法
1万
查看次数

将多维数组转换为单维数组

我正在使用 yii2 php 框架,并且在访问数据库中的所有用户时有以下查询:

$allUsersQuery = new Query;
$allUsersQuery->select(['_id'])->from('user')->where([ 'parent' => new \MongoId($session['company_owner']) ]);
$allUsers = $allUsersQuery->all(); 
Run Code Online (Sandbox Code Playgroud)

当我输入var_dump数组时$allUsers,它会给出以下输出:

array (size=5)
  0 => 
    array (size=1)
      '_id' => 
        object(MongoId)[147]
          public '$id' => string '55d5a227650fc90c35000044' (length=24)
  1 => 
    array (size=1)
      '_id' => 
        object(MongoId)[148]
          public '$id' => string '55d5a22a650fc90c35000047' (length=24)
  2 => 
    array (size=1)
      '_id' => 
        object(MongoId)[149]
          public '$id' => string '55d5a22a650fc90c3500004a' (length=24)
  3 => 
    array (size=1)
      '_id' => 
        object(MongoId)[150]
          public '$id' => string '55d5a22b650fc90c3500004d' (length=24)
  4 => 
    array (size=1) …
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array yii2

5
推荐指数
1
解决办法
1685
查看次数

搜索字段中的最大字符数

我有搜索字段,它没有那个典型的提交按钮.它看起来像这样: 在此输入图像描述

HTML:

<div class="input-group">
    <input type="text" class="form-control" name="keyword" id="searchbox" onkeypress="return checkLength()"/>
    <span class="btn btn-primary input-group-addon" onclick="checkLength()"><i class="fa fa-search"></i></span>
</div> 
Run Code Online (Sandbox Code Playgroud)

我只添加了一个span而不是input提交按钮的元素.如何验证用户是否键入或输入不少于2个字符?如果用户只键入1个字符,然后按下该搜索按钮或只需按Enter键,搜索字段底部应显示红色错误消息"关键字不应少于2个字符"或类似内容.

我试过这段代码,但它不起作用:

function checkLength(){
    var textbox = document.getElementById("searchbox");
    if(textbox.value.length <= 10 && textbox.value.length >= 2){
        alert("success");
    } else {
        alert("Keyword should be not less than 2 characters");
        $(document).keypress(function (e) {
            var keyCode = (window.event) ? e.which : e.keyCode;
            if (keyCode && keyCode == 13) {
                e.preventDefault();
                return false;
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

需要帮忙.谢谢.

编辑:

在输入关键字并点击回车键后,页面将重定向到搜索结果页面,但如果输入的关键字没有2个或更多字符,则应该防止发生这种情况,因此,在搜索字段下方显示红色文本错误消息.怎么做?

html javascript css jquery

4
推荐指数
1
解决办法
685
查看次数

标签 统计

php ×2

yii2 ×2

arrays ×1

css ×1

gridview ×1

html ×1

javascript ×1

jquery ×1

multidimensional-array ×1

search ×1