2015-06-12 21 views
0

我試圖從select語句控制的表單中取出信息並將其存儲在字符串中。計劃是通過電子郵件發送從用戶那裏收集的信息,我使用PHP來完成。我有一個想法如何做到這一點(一個由列表中有多少行控制的while循環),但我無法完全收集信息。使用Javascript將選擇標記中的數據存儲到字符串中

這裏的循環:

var empMessage = function(){ 
     messageString = ""; 
     var noEmp = $("#drpEmp option").length; 
     var i = 0; 
     $("#drpEmp").selector.index = i;  
      while (i < noEmp){ 
       $("#drpEmp").index = i; 
       messageString = messageString + 
       "Name:    " + firstName.val + " " + MI.val + " " + lastName.val + "<br/>" + 
       "Business:   " + BusinessName.val + "<br/>" + 
       "Address:   " + address.val + "<br/>" + 
       "     " + city.val + ", " + state.val + " " + zip.val + "<br/>"; 
      } 
      messageString = "<strong>Employee Information</strong><br/>" . messageString; 
      i++; 
     } 
     $("#stringHolder").val(messageString); 
    } 

這裏的JS小提琴: https://jsfiddle.net/xptxz7by/3/

我知道我大概真的了。我知道我有循環工作,列表正在計算,但我似乎無法檢索信息。我也認爲我正在接近發送錯誤的信息,可能有更好的方法,我只是沒有想出如何。

+0

什麼是$(「#drpEmp」)。selector.index'?我不明白你在用while循環做什麼。 – Barmar

+0

你所有的'.val'應該是'.val()'。 – Barmar

+0

爲什麼你首先在JS中這樣做?只需將表單提交給PHP並讓其格式化電子郵件即可。 – Barmar

回答

0

您需要的數據位於您保存在每個選項的.data()中的Employee對象中,因此您需要獲取該數據並使用屬性。

messageString = "<strong>Employee Information</strong><br/>"; 
$("drpEmp option:selected").each(function() { 
    var employee = $(this).data("employee"); 
    messageString += 
     "Name:    " + employee.firstName + " " + employee.MI + " " + lastName + "<br/>" + 
     "Business:   " + employee.BusinessName + "<br/>" + 
     "Address:   " + employee.address + "<br/>" + 
     "     " + employee.city + ", " + employee.state + " " + employee.zip + "<br/>"; 
}); 
相關問題