Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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
Php 如何将循环值从select表单中的隐藏输入字段传递到Ajax_Php_Jquery_Ajax_Loops - Fatal编程技术网

Php 如何将循环值从select表单中的隐藏输入字段传递到Ajax

Php 如何将循环值从select表单中的隐藏输入字段传递到Ajax,php,jquery,ajax,loops,Php,Jquery,Ajax,Loops,我以为这很简单 我有一个带有隐藏输入字段的select表单来携带循环ID。我希望将所选选项值和隐藏输入字段值传递给Ajax函数 当我将value='$id\u static[$k]'作为选项放置在选择字段中时,id将正确循环 当我在隐藏输入中作为值传递时,它只传递“1”,而不考虑所选行 请参阅下面的压缩代码 <form> <div class='select-style'> <select onChange='update(this.valu

我以为这很简单

我有一个带有隐藏输入字段的select表单来携带循环ID。我希望将所选选项值和隐藏输入字段值传递给Ajax函数

当我将
value='$id\u static[$k]'
作为选项放置在选择字段中时,id将正确循环

当我在隐藏输入中作为值传递时,它只传递“1”,而不考虑所选行

请参阅下面的压缩代码

  <form>
       <div class='select-style'>
  <select  onChange='update(this.value)' id='gcc' name='gcc' class='form-control'>                        
        <option value='i2000'>i 2000</option>
        <option value='$id_static[$k]'>i 3000</option>
        <option value='i4000'>i 4000</option>
  </select>  
      <input  type='hidden'  id='g' name='g' value='$id_static[$k]'>
  </div>           
  </form>
下面是我的JQuery Ajax:代码

  <script>
    function update(gcc , g) {
      var idgap = $('#g').val();           
             jQuery.ajax({                   
                type: 'POST',
                 url: 'gap2.php',
                 dataType: 'json',
                 data:  {  gcc : gcc , idgap : idgap } ,                    
                 success: function(response){                
                 console.log(response);                     
                 jQuery('.response').html(response);                    
                }
           });     
        } 
     </script>

这肯定是使用AJAX进行循环的更好方法。我唯一的目标是在不刷新页面的情况下对页面进行更改。下一个问题是将PHP结果
echo
带到ajax,而不更改每行的

您忘记了在要插值的字符串周围放置PHP标记

 <form>
       <div class='select-style'>
  <select  onChange='update(this.value)' id='gcc' name='gcc' class='form-control'>                        
        <option value='i2000'>i 2000</option>
        <option value='<?php $id_static[$k] ?>'>i 3000</option>
        <option value='i4000'>i 4000</option>
  </select>  
      <input  type='hidden'  id='g' name='g' value='<?php $id_static[$k] ?>'>
  </div>           
  </form>

i 2000

调用
update
函数的
onChange
事件仅传递1个参数。此外,在
update
函数中的任何位置都没有使用变量
g
。您是否打算在
update
函数中使用变量
g
?在问题末尾添加了临时解决方案。希望有更好的方法来实现我返回完整字符串“”值1,即使我在第3行。虽然我的Ajax结果是用result填充循环中的所有div标记,但我还是找到了解决方法value@KentMercer你在帖子中添加的while循环,实际上就是这样的吗?你的html在里面吗?@AaronEveleth。它位于echo'd表标题
下方,因此它不是循环的,而是位于echo'd
上方,不确定是否有其他方法为循环创建表。
    $str = $_POST['gcc'];
    $split = explode("," , $str);

    $gcc =   $split[0];
    $g = $split[1];
 <form>
       <div class='select-style'>
  <select  onChange='update(this.value)' id='gcc' name='gcc' class='form-control'>                        
        <option value='i2000'>i 2000</option>
        <option value='<?php $id_static[$k] ?>'>i 3000</option>
        <option value='i4000'>i 4000</option>
  </select>  
      <input  type='hidden'  id='g' name='g' value='<?php $id_static[$k] ?>'>
  </div>           
  </form>