我觉得这很简单?
我有一个带有隐藏输入字段的选择表单来携带循环ID。我希望将选定的选项VALUE和隐藏的输入字段VALUE传递给Ajax函数。
当我在选择字段中将value='$id_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>
注意我的一个选择选项中我有$ id_static [$ k]作为值。我只用作测试... Ajax进程完美循环。问题是我在隐藏的领域需要它。
这是我的循环以防你需要看到它
while ($stmt->fetch()){
$id_static[] = $id_ai;
foreach($id_static as $k => $v){
}
以下是我的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>
好的,我在Interim做过的。将我的值与1合并,,
分隔<Select><option value='i3000,$id_static[$k]'>i3000</option>
,并在我的PHP中拆分值,如下所示。
$str = $_POST['gcc'];
$split = explode("," , $str);
$gcc = $split[0];
$g = $split[1];
必须是使用AJAX for循环的更好方法。我唯一的目标是在不刷新PAGE的情况下更改PAGE。下一个问题是将PHP结果echo
带到ajax而不更改每行的<div>
。
答案 0 :(得分:0)
您忘记将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>