ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – 使用json设置所选的多选项选项值

2019-07-25 02:38:06  阅读:234  来源: 互联网

标签:php jquery json jquery-chosen multi-select


我花了差不多两天的时间来寻找我的问题的解决方案,但没有发现任何问题.可能是我最近开始学习Ajax& jquery的东西,我错过了什么.

注意:我的所有选择框都是Chosen Multiple select box&所有选项都是硬编码的.

我有多个文字&选择我想在其中显示/从mysqli json输出数据中选择数据的一个选择框更改事件中的一个(基本上使用此用户可以复制/编辑保存在db中的所有文本和选择框的现有详细信息).

我已经成功地使用以下js代码为文本框执行此操作,这是我在过去两天中学到的以完成我的任务

$(document).ready(function () 
{
   $('#posted_jobs').on('change', function () 
   {
      var selectedValue = $(this).val();    
      $.ajax
      ({
          url: 'Copyvalue.php',
          type: 'POST',
          data: 'filter_job_id=' + selectedValue,
          success: function(response) 
          {
            var obj = $.parseJSON(response);//parse JSON            
            console.log(response);
            //alert(JSON.stringify(obj));       
            $("#Job_Type").val(["Normal"]); // have tried manually adding value to selectbox here but not working
            $('#Locations').val(obj[0].Job_type); // have tried manually adding value to selectbox here but not working
            $('#Job_Type').val(obj[0].Job_type);
            $('#Keywords').val(obj[0].Keywords);
            $('#designation').val(obj[0].Designation);
            $('#Company_name').val(obj[0].Company_Name);
            $('#Contact_Person').val(obj[0].Contact_person_name);
            $('#Contact_person_no').val(obj[0].Contact_No);
            $('#Job_name').val(obj[0].Job_name);
           }
        });         
     });
  });

我已经尝试了堆栈溢出和放大器的n个选项.其他网络建议.但是不能让这个选择框工作.请帮助我让这个工作&如果可能的话请告诉我从哪里可以学到这个好的来源.

尝试了类似的选项

$("#Locations").val(["1, 2, 3, 4"]).prop("selected", false);
$("#Locations").val([1, 2]);

我的PHP脚本Json在Chrome控制台中输出

 [{"Job_id":"6","Employer_id":"2","creation_on":"2015-01-03 18:48:58","Keywords":"operation executive, manager operation, operation manager, executive operation","Job_type":"Normal","Designation":"Assistant Manager - Operation","Open_Positions":"4","Job_Description":"<p><strong>Good<\/strong> <em>Position<\/em><\/p>","Min_age":"23","Max_age":"34","Min_exp":"5","Max_exp":"12","Min_salary":"104","Max_salary":"109","Hide_Salary":"","Locations":"3, 4, 8, 45, 46","Industry":"10002, 10004","FA":"1002, 1003","Education":"4, 6, 9","Company_Name":"Aviva Life Insurance Company India Limited","About_Company":"<p><strong>Good<\/strong><em> Company<\/em><\/p>","Contact_person_name":"Balvinder Rayat","Contact_No":"9818906677","Refresh_type":"15","Response_type":"VC","Job_name":"Operation AM","Job_status":"Active"}]

我的选择框

<select id="Locations" name='Locations[]' style='width:100%;' data-placeholder='Type or select   
locations' multiple class='chosen-select-no-results'>
    <option value="1">Bangalore</option>
    <option value="2">Chennai</option>
    <option value="3">Delhi</option>
    <option value="4">Gurgaon</option>
    <option value="5">Hyderabad</option>
    <option value="6">Kolkata</option>
    <option value="7">Mumbai / Navi Mumbai</option>
</select>                      

解决方法:

我搜索的更多&得到解决方案(我猜)专门设置选择框值(选择选择框)

基本上,代码中缺少触发器,导致所有问题.在使用json检索的最后一个值中添加触发器后,它们都得到了解决.

$("#Job_Type").val(obj[0].Job_type).trigger('chosen:updated');

希望它也有助于其他!!

从这个链接Link找到答案

对于多个选择框,如果您有[1,2,3,4]这样的值,您可以使用以下方法获得结果:

var values = obj[0].Locations;
$.each(values.split(','), function(index, element)
{
   $('#Locations').find('option[value="'+ element +'"]').attr('Selected', 'Selected');
   $("#Locations").trigger('chosen:updated');   
});

标签:php,jquery,json,jquery-chosen,multi-select
来源: https://codeday.me/bug/20190725/1528943.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有