通过jQuery从下拉框向PHP发送值

时间:2010-07-29 14:06:32

标签: php jquery mysql drop-down-menu

我正在尝试从下拉框中取值并将它们发送到PHP文件,该文件将根据所选的组合从mySQL数据库中绘制适当的字段,并在div中显示它而不使用AJAX刷新页面。我对第二部分进行了排序,但我仍然坚持第一部分。

以下是HTML:http://jsfiddle.net/SYrpC/

这是我在主文档头部的Javascript代码:

var mode = $('#mode');

function get() {$.post ('data.php', {name: form.him.value, the_key: #mode.val()}, 

function(output) {$('#dare').html(output).show();

});

}

我的PHP(用于测试目的)是:

$the_key = $_POST['the_key'];
echo $the_key;

我在PHP中将它作为一个变量后我可以操作它,但是我遇到了麻烦。我哪里错了?谢谢你的回复!

3 个答案:

答案 0 :(得分:0)

您还需要一个回调函数来让服务器响应POST。

$ .post('ajax / test.html',function(data){   $( '结果')HTML(数据)。 });

此片段将发布到ajax / test.html,并且在回复时将使用具有响应的参数数据调用匿名函数。然后在这个匿名函数中将带有result的类设置为具有服务器响应的值。

帮助?让我知道,如果您需要更多信息,我们可以解决这个问题。

此外,jQuery中的$ .post是

的简短形式

$。AJAX({   类型:'POST',   url:url,   数据:数据,   成功:成功   dataType:dataType });

答案 1 :(得分:0)

你的jquery选择器错了:

html:
<select id="mode">

jquery selector:
$("#mode").val();

html:
<select name="player">
jquery selector:
$("select[name=player]").val();

答案 2 :(得分:0)

你想为你的ajax请求添加一个回调,这不是很难做到,这里甚至会给你一个例子:

$.ajax({
   url: "http://stackoverflow.com/users/flair/353790.json", //Location of file
   dataType: "josn",//Type of data file holds, text,html,xml,json,jsonp
    success : function(json_data) //What to do when the request is complete
    {
        //use json_data how you wish to.;
    },
    error : function(_XMLHttpRequest,textStatus, errorThrown)
    {
        //You fail
    },
    beforeSend : function(_XMLHttpRequest)
    {
        //Real custom options here.
    }
});​

以上大多数回调都是可选的,在您的情况下,我会执行以下操作:

$.ajax({
   url: "data.php",
   dataType: "text",
   data : {name: ('#myform .myinput').val(),the_key: $('#mode').val()},
   success : function(value)
   {
       alert('data.php sent back: ' + value);
   }
});​
如果需要,您应该始终设置url,successdata,请阅读The Documentation以获取更多信息。