如何将带有文本类型值的var放入jQuery函数中

时间:2015-04-10 07:45:00

标签: javascript jquery json

我有一个从php文件(getdata.php)获取一些json数组数据的函数。此函数需要select选项元素中的字符串数据类型变量,在下一步中将使用getdata.php

我使用var text = $('#element option:selected').text();来创建我的变量。我确定这个var文本包含正确的文本值(我试图使用alert显示它并显示出来)。但是,当我将它传递给我的函数时,这个文本值似乎与应该使用的数据类型不匹配。我不知道这样做的结构。在getdata.php中,我使用此var来完成mysql查询。我使用$_GET来获取该变量。我尝试使用var number=$('#element option:selected').val();并且它有效,但.text()它运行不正常。

我真的很感激任何解决这个问题的建议。谢谢。

下面是我的脚本功能代码。

    $("#element1").change(function(){
        var text = $('#element option:selected').text();
        getAjaxData(text);
    });

    function getAjaxData(text){
        $.getJSON("getdata.php",{text:text} ,function(json){
        //some operations here
    } 

3 个答案:

答案 0 :(得分:4)

如果它是textarea或输入字段,则必须使用.val( )

来自jQuery文档:

  

.text()方法不能用于表单输入或脚本。要设置或获取input或textarea元素的文本值,请使用.val()方法。要获取脚本元素的值,请使用.html()方法。

答案 1 :(得分:1)

$(#element).text()不会从输入中返回值或选择。

要从输入中获取值,请选择您需要使用.val()函数。

$(#element).val()将在选择框

中提供所选元素的值

获取您需要在代码

下使用的所选选项的文本
 var text = $("#element option:selected").text();

获取您需要在代码

下使用的所选选项的值
 var value = $("#element option:selected").val();  

 var value = $("#element").val();      

答案 2 :(得分:0)

试试这个:

$("#element1").change(function(){
  var text = $('#element').val();
  getAjaxData(text);
});

function getAjaxData(text){
  $.getJSON("getdata.php",{text:text} ,function(json){
  //some operations here
}