有没有办法在不提交的情况下获取当前选择框选项的值?

时间:2011-12-12 18:57:15

标签: php javascript jquery ajax input

我正在尝试为项目构建一些功能,但我坚持这个:

我想从选择框选项中获取值,并在我的php脚本中使用

问题是,我需要获取当前选择的选项,而无需用户发布数据。所以我怀疑这里需要一点点ajax,我完全不知道。

我会给你一个例子,让事情更清楚:

        <select>
        <option value="United Kingdom">United Kingdom</option>
        <option value="Belarus">Belarus</option>
        <option value="Albania">Albania</option>
        </select>
  • 向用户显示一个选择框

  • 用户从下拉列表中选择“白俄罗斯”

  • 我需要能够取值'Belarus'并将其分配给php中的变量

如果没有他们提交表单,我不知道怎么做。

非常感谢任何帮助

由于

3 个答案:

答案 0 :(得分:3)

使用AJAX将数据发送到PHP脚本:

$('select').on('change', function () {
    var val = $(this).val();
    if (val != '') {
        $.get('path/to/script.php', {'select-name' : val}, function (serverResponse) {
            //this is the callback for this AJAX request, the server has handled the request and anything output by your PHP script will be available in the `serverResponse` variable
        });
    }
});

请注意,.on()是jQuery 1.7中的新增内容,在这种情况下与.bind()相同。

答案 1 :(得分:2)

您可以使用jQuery ajax将数据部分提交到服务器。试试这个

$.ajax({
   url: "urlOfThePage",
   type: "POST",//Based on your requirement you can set it to GET/PUT etc
   data: {
      paramName: $("select").val();//this will get the selected value from the dropdown
   },
   sucess: function(){
     alert("Data submitted");
   }
});

答案 2 :(得分:2)

<select id="my-select">
    <option value="United Kingdom">United Kingdom</option>
    <option value="Belarus">Belarus</option>
    <option value="Albania">Albania</option>
</select>

并使用jquery获取值并将其传递给服务器:

var value = $("#my-select").val();
$.get('myscript.php', { select_value: value });