<select> ajax calls </select>

时间:2009-01-23 01:52:27

标签: jquery ajax html-select

我在我的网站上使用jQuery,我的项目有一个更新部分,我有三个下拉菜单:

  • 完成?
  • 工作小时数
  • 谁参与了这个项目?

我正在尝试使用jQuery创建一个ajax调用,当我选择它时,调用$ .ajax()并将数据发送到我的php页面以更新我的mysql数据库。

我猜我能做到这一点:

获取选择并存储在变量中的数据,并使用$ .ajax将其作为数据发送,但我不确定在选择然后运行ajax后我将如何捕获该值?

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

正如FryGuy所说,$ .post方法可能是你最好的选择,虽然我会这样说:

$("#project select").change(function(){ // use one selector for all 3 selects
    $.post("someurl.php",{
        // data to send
        completed: $("select#completed").val(),
        hours:     $("select#hours").val(),
        who:       $("select#who").val()
    }, function(data) {
        // do callback stuff with the server response 'data' here
    });
});

如果三个选项在页面上出现多次,则可能不是您想要的。我建议阅读jquery文档以获取事件处理。至于提取数据,您只需要在需要时使用.text().val().html().attr()等选择器和方法。您想要的信息总是在DOM的某个地方。

答案 1 :(得分:0)

我会使用jQuery post method ......类似的东西:

$.post("updater.php", { completed: variableWithCompletedFromSelect } );

只需在select上的on change事件中调用它,然后传入select的值。然后你的PHP脚本将使用新值$ _POST ['completed']。