GVKun编程网logo

jquery – 使用ajax获取select元素的值

10

在这篇文章中,我们将为您详细介绍jquery–使用ajax获取select元素的值的内容。此外,我们还会涉及一些关于IE8下Jquery获取select选中的值post到后台报错问题_jquery、j

在这篇文章中,我们将为您详细介绍jquery – 使用ajax获取select元素的值的内容。此外,我们还会涉及一些关于IE8下Jquery获取select选中的值post到后台报错问题_jquery、javascript jquery 获取select选中的值、javascript – 为什么要使用jQuery(selector).get(0)而不是jQuery(selector)[0]来获取DOM元素?、javascript – 如何使用jquery打开select元素的知识,以帮助您更全面地了解这个主题。

本文目录一览:

jquery – 使用ajax获取select元素的值

jquery – 使用ajax获取select元素的值

我想获取一个select元素的值,但是返回Array()

这是我的HTML:

<select name="data[Attorney][empresa]" id="AttorneyEmpresa">
    <option value="">Selecione</option>
    <option value="3">Sotreq</option>
</select>

而我的Jquery:

$(document).ready(function() {
    $("#AttorneyEmpresa").change(function(){
        $.ajax({
            type: 'POST',data: $('#AttorneyEmpresa').val()
        });
    });
});

怎么了?

解决方法

试试这个

$(document).ready(function() {
    $("#AttorneyEmpresa").change(function(){
        $.ajax({
            type: 'POST',data:  {keyname:$('#AttorneyEmpresa option:selected').val()}
        });
    });
});

DEMO

IE8下Jquery获取select选中的值post到后台报错问题_jquery

IE8下Jquery获取select选中的值post到后台报错问题_jquery

我们一般使用jquery获取select时,一般这么用:

<select id=''a''> 
<option selected=''selected'' value=''1''> 
</select> 
var selectedValue = $("#a").val();
登录后复制

在非IE8下,selectedValue的值为“1”,typeof selectedValue 为“string”。

在IE8下,selectedValue的值为[“1”],typeof selectedValue 为 “objectg”。

如果直接将selectedValue post发送到后台,后台接收时会报错,因为在传输过程中,IE8下selectedValue当成了数组,后台无法识别。

解决的代码如下:

selectedValue = typeof selectedValue == "object" &#63; selectedValue[0] : selectedValue;
登录后复制

这样selectedValue为字符串了。

​另外这样会引发其他的问题:

var a = selectedValue.trim();
登录后复制

这段代码在IE8下无法执行,可能的原因也是由于上述所致。

​使用如下代码就确保可以运行:

$.trim(selectedValue);
登录后复制

javascript jquery 获取select选中的值

javascript jquery 获取select选中的值

误区:

          一直以为jquery获取select中option被选中的文本值,是这样写的:

          $("#id").text();  //获取所有option的文本值

实际上应该这样:

          $("#id option:selected").text();  //获取选中的option的文本值

获取select中option的被选中的value值,

           $("#id").val(); //获取选中的值

           $("#id option:selected").val();

js获取select选中的值:

          var sel=document.getElementById("id"); 

          var index = sel.selectedindex; // 选中索引

          albumid= sel.options[index].value;//要的值

 

javascript – 为什么要使用jQuery(selector).get(0)而不是jQuery(selector)[0]来获取DOM元素?

javascript – 为什么要使用jQuery(selector).get(0)而不是jQuery(selector)[0]来获取DOM元素?

如果我只想将jQuery数组中的第一个项目作为DOM元素,那么使用jQuery是否有利于$(selector).get(0)超过$(selector)[0]

HTML:

<form id="myForm"></form>

使用Javascript:

var selector = '#myForm';
var domElement = $(selector).get(0); //Returns [object HTMLFormElement]

//Or
var domElement = $(selector)[0]; //Also returns [object HTMLFormElement]

> .get()更多是要输入的字符.
>如果$(选择器)为空(未定义),则两种方法都返回相同的结果
> The jQuery documentation on .get()注意到,您可以简单地使用索引访问器来获取第n个元素,但是您没有获得.get()的其他好处,例如使用负数从数组的末尾返回项.
>此外,您可以调用没有参数的.get()返回jQuery数组的所有DOM元素.

解决方法

.get允许您使用负指数.例如:
<span>1</span>
<span>2</span>
<span>3</span>

$( “跨度”)得到(-1);指第三跨度.

但是如果您不需要该功能,并且只想选择一个元素.get(0)和[0]是相同的.注意这个[num]:

// jQuery code
get: function (num) {
    return num == null ?

    // Return a 'clean' array
    this.toArray() :

    // Return just the object
    (num < 0 ? this[this.length + num] : this[num]);
},

javascript – 如何使用jquery打开select元素

javascript – 如何使用jquery打开select元素

我有一个选择元素如下.我想打开它而无需用户点击它.

    <select id="selId">
       <option value="volvo">Option1</option>
       <option value="saab">Option2</option>
       <option value="mercedes">Option3</option>
       <option value="audi">Option4</option>
    </select>

如果可能使用jquery或javascript,请告诉我

解决方法:

您将CSS选择器传递给openSelect(),它将为您打开select元素.

var openSelect = function(selector){
     var element = $(selector)[0], worked = false;
    if (document.createEvent) { // all browsers
        var e = document.createEvent("MouseEvents");
        e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
        worked = element.dispatchEvent(e);
    } else if (element.fireEvent) { // ie
        worked = element.fireEvent("onmousedown");
    }
    if (!worked) { // unkNown browser / error
        alert("It didn't worked in your browser.");
    }   
}

$(function(){ // when DOM is ready
   // open .select element
   openSelect('.select'); 
});

这是一个小提琴:http://jsfiddle.net/Z48wF/1/

资料来源:How to open the select input using jquery @ stackoverflow.com

我们今天的关于jquery – 使用ajax获取select元素的值的分享已经告一段落,感谢您的关注,如果您想了解更多关于IE8下Jquery获取select选中的值post到后台报错问题_jquery、javascript jquery 获取select选中的值、javascript – 为什么要使用jQuery(selector).get(0)而不是jQuery(selector)[0]来获取DOM元素?、javascript – 如何使用jquery打开select元素的相关信息,请在本站查询。

本文标签: