2011-09-12 64 views
0

我們可以用後通過Ajax下拉值的document.getElementById(下拉).value的作爲降的設定值的向下的形式,或者是neccessary,我們應該使用selected.Index下拉價值精選價值

+2

你可以使用任何最有意義您的應用程序。 – alex

+0

我們可以在下拉列表中選擇值,然後從數據庫檢索正確的值,而不使用Selected.Index屬性以及document.getElementById ... – look4php

+0

我應該說清楚嗎? – look4php

回答

2

簡短的回答是「是」,但要確保所有選項都一個值屬性或屬性,因爲並非所有瀏覽器都正確報告option value未設置任何值(即不是發送內容(文本),它們什麼也不發送)。這也適用於正常的表單提交。

+0

如何確保屬性在那裏? – look4php

+0

在典型的文檔中,該值是作爲標記中的內嵌屬性提供的。可能會動態地創建元素,在這種情況下,您應該將該值添加爲DOM元素的屬性。如果您無法保證,那麼您需要編寫自己的「get option value」函數,查看選項值和如果它是空的,獲取文本。只是總是給選項一個值就更簡單了。 – RobG

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 
    } 
}); 
1

它沒有真正的區別。

我用.value如果我有,但一般我會使用jQuery,因此有.val()函數(或樣機.value()

+0

它只是說「使用一個庫,你仍然不知道答案 – look4php

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; 
}