答案 0 :(得分:0)
简单的JavaScript解决方案,打开网络选项卡并检查传出请求
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> </script>
<select id="qty" name="select">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
</select>
<script type="text/javascript">
var select = document.querySelector('#qty');
select.onchange = function(event){
console.log(event); //proof that it makes http request on change
var value = event.target.value;
$.ajax({
url: "tt.php",
type: "POST",
data: {
paramName: value
}
}).done(function() {
alert( "success" );
}).fail(function() {
alert( "error" );
});
}
</script>
<?php
include 'tt.php';
(It contains $value=$_POST['select']; //im not php fan, but i guess this should be "paramName", not sure!
echo $value;)
?>
这里发生了两件事 您订阅了选择更改事件,并使用&#34; paramName&#34;传递POST数据。属性, 但是您的服务器代码需要FORM Data,并带有select属性。
答案 1 :(得分:0)
更改onChange="select()"
至
onChange="select(this.value)"
并声明您的select()
函数select(selected)
,这样您就可以删除var selected = $('#qty').val();
,然后更改paramName: $("select").val();
到
paramName: selected
另外,你没有打电话给&#39;选择&#39; post数组中的变量?
将paramName:selected
更改为:
select:selected