Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将所选数据发送回原始窗口_Javascript_Jquery_Json_Modal Dialog_Custom Data Attribute - Fatal编程技术网

Javascript 将所选数据发送回原始窗口

Javascript 将所选数据发送回原始窗口,javascript,jquery,json,modal-dialog,custom-data-attribute,Javascript,Jquery,Json,Modal Dialog,Custom Data Attribute,我有一个叫做bpSearch的文件。在bpSearch中,我有一个模式窗口,名为addNewModal。在addNewModal中,我有两个名为partnerName和partnerCode的输入字段。我有一个按钮,一旦点击,就会打开另一个模式窗口,称为searchPartnerModal 以下是addNewModal中表单的一部分: <form action="bpSearch.php" method="get"> <input type="text" readonl

我有一个叫做bpSearch的文件。在bpSearch中,我有一个模式窗口,名为addNewModal。在addNewModal中,我有两个名为partnerName和partnerCode的输入字段。我有一个按钮,一旦点击,就会打开另一个模式窗口,称为searchPartnerModal

以下是addNewModal中表单的一部分:

 <form action="bpSearch.php" method="get">
   <input type="text" readonly id="partnerName" name="partnerName" />
   <input type="text" readonly id="partnerCode" name="partnerCode" />
   <a href="#searchPartnerModal" data-toggle="modal" class="btn">Go</a>
 </form>
此时,我可以向这两个变量(selname和selcode)发出警报,并让它们显示在警报窗口中

我想做的是将这两个变量发送回各自输入字段中的addNewModal,称为partnerName和partnerCode

因此,selname将转到partnerName,selcode将转到partnerCode


我没有显示返回数据的PHP脚本。

将锚点id=getPInfo更改为class=getPInfo,因为您有多个锚点。接下来,处理锚定的click事件,提取数据属性,并在addNewModal表单中设置相应的表单元素。以下内容应该基于我目前看到的标记来工作

$(function(){
   $('body').on('click', 'a.getPInfo', function (e) {
      var $a = $(e.srcElement || e.target);
      $('#partnerName').val($a.attr('data-selname'));
      $('#partnerCode').val($a.attr('data-selcode'));
      $('#searchPartnerModal').modal('hide'); //assuming bootstrap modal
   });
});

在我的第一个模态addNewModal中,我将其添加到partnerName和partnerCode所在的输入类型类中。然后,使用上面的javascript,我将$('#partnerName')更改为$('.partnerName'),并得到了我想要的结果。感谢@Athen Holloway
 $('#pSearch').on('click', function()
 {
   var partnername = $('#pNameSearch').val();
   if($.trim(partnername) != '')
   {
     $.post('api/pNameSearch.php', {partnername: partnername}, function(data)
     {
       var obj = JSON.parse(data);
       $('#pNames').empty();    
       var htmlToInsert = obj.map(function (item)
       {
         return '<li><a id="getPInfo" href="javascript:;"
         onclick="getPInfo()" data-selname="'+item.FULL_NAME+'" 
         data-selcode="'+item.PARTNER_CODE+'">'
          + item.FULL_NAME + ' - '
          + item.PARTNER_CODE + '</a></li>';
       }).join('');
       $('#pNames').html(htmlToInsert);
     });
   };
 });
 function getPInfo()
 {
   var selname = ($('#getPInfo').attr('data-selname'));
   var selcode = ($('#getPInfo').attr('data-selcode'));
 }
$(function(){
   $('body').on('click', 'a.getPInfo', function (e) {
      var $a = $(e.srcElement || e.target);
      $('#partnerName').val($a.attr('data-selname'));
      $('#partnerCode').val($a.attr('data-selcode'));
      $('#searchPartnerModal').modal('hide'); //assuming bootstrap modal
   });
});