2011-09-12 29 views
2

分裂任何人都可以提供對這個我有在的jsfiddle代碼設置更多的幫助......JQuery的獲取從列表框中選擇項目,並用逗號

http://jsfiddle.net/justinerswell/feDTU/

我需要在最後一個項目substr並向後工作以填充我需要的字段。

感謝

原始的問題

您好我有一個列表框正在被解析作爲一個字符串轉換成數值與多個結果頁面上的返回...

<option value="1 Corn Exchange, The Strand, RYE, East Sussex, TN31 7DB, UNITED KINGDOM"> 

使用JQuery我需要做一些事情..

  1. 獲得翻領通過選定值
  2. 所選項目的分割值由逗號的
  3. 循環,並設置一個變量即國家每個項目:英國郵編:TN31 7DB等

誰能幫助我?

謝謝

+1

這是一個可怕的方法。你絕對應該重新考慮自己的任何引導,特別是因爲每個逗號值與其標籤之間沒有任何困難的聯繫。爲什麼你不能直接從開始時輸出每個項目到單獨的'option'項目? –

+1

不錯的建議@ adam-terlson但是沒有從網絡服務中得到它的結果這就是我所擁有的:( –

+1

聽起來像你的網絡服務需要改變,對於任何人在將來支持你的代碼,我感到非常抱歉,即使它可能是你 –

回答

7

想要點擊或提交數據?

$('select').click(function() { 

     var selected = $(this).find(':selected').text(); 

     var substr = selected.split(','); 
     var product = substr[0]; 
     var city = substr[1]; 
     var postcode = substr[2]; 
     var country = substr[3]; 

     //DO SOMETHING WITH IT?? 
    }); 

但它不是一個很好的主意,考慮到你的「數據」的結構不能改變(即缺少的字段等等。) - 因爲它的指標....

+0

我希望用戶選擇他們想要的行,然後單擊按鈕並返回數據到一個父窗體,我認爲窗口,開門說,這一點謝謝你的答案看起來不錯我會測試它@ marco-johannesen –

+0

如果你需要更多的幫助,只需粘貼一些你的HTML :) –

+0

我創建了一個jsfiddle目前有很多代碼循環前進,我需要反向循環,因爲可能有5個元素,而不是6 http://jsfiddle.net/justinerswell/3HKgQ/1/ –

4

突破jquery有一個選擇器的選擇值。

所以使用

var selectedValue = $('#myselect option:selected').val(); 

然後在空間

var table = selectedValue.split(','); 

和循環分裂你的桌子上

for(i = 0 ; i < table.length; i++) { 
    // dosomething with table[i] 
} 
4

想,如果你是使用HTML列表框比試試這個

<select id="Select1" size="4" multiple="multiple" onchange="Check(this);"> 
<option value="1">item 1</option> 
<option value="2">item 2</option> 
<option value="3">item 3</option> 
<option value="4">item 4</option> 
<option value="0">All</option> 
</select> 

的JavaScript

function Check(selectObject) 
    { 
    var items = new Array(); 
    for (var i = 0, j = selectObject.options.length; i < j; i++) 
    { 
     if (selectObject.options[i].selected) 
     { 
      items.push(selectObject.options[i].value); 
     } 
    } 
    // selectObject.id holds the "id" 
    var itemsToString = items.toString(); 
    alert(itemsToString); 
    //split and get values. 
    var s = itemsToString.split(','); 
    for(var k=0; k<s.length; k++) 
     { 
      alert(s[k]); 
     } 

    } 

啤酒花它有助於

2

試試這個簡單,調用這個函數的onchange下拉列表框的()事件。

功能FuncFilter(){

 var selectedText = $("#DrpDatefilter").find(':selected').text(); 
    alert(selectedText); 

    **Or** 
    var selectedValue = $("#DrpDatefilter").find(':selected').val(); 
    alert(selectedValue); 

} 
3

嘗試$。地圖()以獲得列表中的所有選定項目

var selectedValues = $.map($('#ddlList option:selected'), function (element) { 
     return element.value; 
    }); 
相關問題