繁体   English   中英

Jquery .val()中的多个var-多选择更新

[英]Multiple vars inside Jquery .val() - Multi select update

我想要的是:

如果我在jquery上手动执行此操作,我想使用当前用户权限更新Multiple选项,它可以正常工作:

$('#edit-input-perm').val(['A','B','C']).trigger('change');

在同一个jquery上,我有一个ajax调用来获取我数据库中的数据:

$.ajax({
          url: 'api/admin/crud/crud-fetch-user.php',
          type: 'POST',
          dataType: "json",
          data : {id:id, func:func},
          success :  function(response){

我的crud-fetch-user.php获取并返回:

< MYSQL connection here >

$permString = "[".($perm['permZad'] == 1 ? '\'zad\',': '').($perm['permZof'] == 1 ? '\'zof\',': '').($perm['permZfr'] == 1 ? '\'zfr\',': '').($perm['permZau'] == 1 ? '\'zau\',': '').($perm['permZco'] == 1 ? '\'zco\',': '').($perm['permZte'] == 1 ? '\'zte\',': '').($perm['permClt'] == 1 ? '\'clt\',': '');
        $permList=rtrim($permString ,", "); // removes the last ,
        $permList = $permList."]";

        $retorno = array('codigo' => 1, 'id' => $id, 'u' => $username, 'as' => $accountStatus, 'aim' => $avatarImg, 'na' => $name, 'em' => $email, 'ph' => $phone, 'isc' => $isClient, 'frcmp' => $fromCompany, 'frfil' => $fromFilial, 'rol' => $role, 'permList' => $permList);
        echo json_encode($retorno);

Json返回'permList'=> $ permList

如果在提取时值为1,则permList包含['perm1','perm2','perm3','perm4']。

到现在为止还挺好。

现在回到我的Jquery代码:

response.permList现在包含['perm1','perm2','perm3','perm4']

我需要把它放在里面

$('#edit-input-perm')。val( HERE ).trigger('change');

好吧,如果您希望所有的键都是一个,那么过滤器就可以工作。

var values = Object.keys(response)
  .filter(key => response[key] === 1)

要么

var values = Object.keys(response)
  .filter(function (key) { return response[key] === 1; })

$('#edit-input-perm').val(values).trigger('change');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM