我在我的网站上使用jQuery,并且我有一个项目更新部分,其中有三个下拉菜单:
- Completed?
- Hours Worked
- Who worked on this project?
我正在尝试使用jQuery创建一个ajax调用,当我选择它时,调用一个$.ajax()并将数据发送到我的php页面以更新我的mysql数据库。
我猜我可以做这个:
获取选择的数据并存储到变量中,使用$.ajax将其发送为数据,但是我不确定在选择后如何"捕获"该值,然后运行ajax?
有任何建议?
我在我的网站上使用jQuery,并且我有一个项目更新部分,其中有三个下拉菜单:
我正在尝试使用jQuery创建一个ajax调用,当我选择它时,调用一个$.ajax()并将数据发送到我的php页面以更新我的mysql数据库。
我猜我可以做这个:
获取选择的数据并存储到变量中,使用$.ajax将其发送为数据,但是我不确定在选择后如何"捕获"该值,然后运行ajax?
有任何建议?
正如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的某个位置。
我会使用jQuery的post方法,大概像这样:
$.post("updater.php", { completed: variableWithCompletedFromSelect } );
只需在选择的 on change 事件中调用,并传入选择的值,那么您的 PHP 脚本将带有新值的 $_POST[completed]。