Heim > Artikel > Backend-Entwicklung > select下拉框的值传入jquery,并用ajax传到另一个php页面,老是传不过去。
请大大门帮我看一下,到底为什么传不了值。
本页面:
<script> <br /> $(function(){ //获取多选下拉菜单里面的值 <br /> $("#submit").click(function(){ <br /> var ar=","; // 机智如我,用字符串而不是数组的形式连接起来,就不涉及ajax传送数组的问题了 <br /> $("option:selected").each(function(){ <br /> ar+=$(this).text()+","; <br /> }); <br /> alert("新生成的字符串为:"+ar); <br /> $.post("sms.php", {cla:ar},function(data,status){alert(data)} <br /> ); <br /> }); <br /> }); <br /></script>
接收传值的页面:
$cla=$_POST["cla"];
echo $cla;
include_once("conn.php");
$sql="update class_string set class_string='$cla' where teacher='ma'";
$result = mysql_query($sql);
// $homework=$_POST['homework'];
// $deadline=$_POST['deadline'];
// echo $homework;
// echo $deadline;
?>
<?phpif($_POST) { print_r($_POST); exit;}?><script src=scripts/jquery-1.8.3.min.js></script><script type="text/javascript">$(function(){ //获取多选下拉菜单里面的值 $("#submit").click(function(){ var ar=","; // 机智如我,用字符串而不是数组的形式连接起来,就不涉及ajax传送数组的问题了 $("option:selected").each(function(){ ar+=$(this).text()+","; }); alert("新生成的字符串为:"+ar); $.post(location.href, {cla:ar}, function(data,status){alert(data)}); }); });</script> <select><option>a</option><option>b</option><option>c</option><option>d</option></select><input type=button id=submit value=ok>应该没有问题,请自行检查是否有语法错误
虽然还没找到原因,但是还是谢谢版主
sms.php改成http开头的绝对路径试试?
找到原因了。我用这个button触发ajax的同时,又用它来提交form表单了,而这是不被允许的。所以出现了一些奇奇怪怪的报错。谢谢各位,结贴。
你没贴全代码,人家就不好分析了
嗯,是没贴全。但是我压根儿没想到问题会出在一个input按钮上。还是很谢谢大家。
楼主 怎么实现将下拉列表的值传给另外一个php页面的啊?求教