DropDown值选定值

时间:2011-09-12 05:23:18

标签: javascript

我们可以通过ajax发布带有下拉值的表单作为document.getElementById(下拉列表).value作为下拉列表的选定值,或者是否需要我们应该使用selected.Index

4 个答案:

答案 0 :(得分:2)

简短回答是“是”,但要确保所有选项首先都有值属性或属性,因为并非所有浏览器都正确报告option value没有设置任何值(即不是发送内容(文字),他们什么也没发送)。这也适用于正常的表单提交。

答案 1 :(得分:1)

没有什么不同。

如果必须,我会使用.value,但通常我会使用jQuery,因此在原型中使用.val()函数(或.value()

答案 2 :(得分:0)

是的,这是可能的。您可以使用jquery.ajax,创建一个对象,其中包含您要发布的所有值(表单上的字段)并将其传递给数据:并设置类型:“POST”。

var valuestoPost = {field1:"val1", field2:"val2", dropdownval:$("#dropdownid").val()};
$.ajax({
    url: foopostURL,
    dataType: "html",
    type: 'POST',
    data: valuestoPost,
    contentType: "application/x-www-form-urlencoded; charset=utf-8",
    success:function (data){
       //operation on successful post
     },
    error: function(jqXHR, textStatus, errorThrown){
    //operation on error
    }
});

答案 3 :(得分:0)

我使用这个JS函数来确保所有浏览器都获得值:

function getDataForDropdown(colName){   
    var columnName = "";
    if ( columnName == null || columnName == '' )
    {
        var e = document.getElementById(colName);
        columnName = e.options[e.selectedIndex].value;
    }  

    if ( columnName == null || columnName == ''  || columnName.length==0)
    {
        columnName = document.getElementById(colName).value;
    }

    if ( columnName == null || columnName == ''  || columnName.length==0)
    {
        var select = document.getElementById(colName);
        columnName= select.options[select.selectedIndex].value;
        if ( columnName == null || columnName == '' || columnName.length==0)
        {
            columnName= select.options[select.selectedIndex].text;
        }
    }  
    return columnName;  
}