2011-06-01 61 views
0

在下面我有一個div與員工的名字,併爲他們分配一個等級,我的問題是,我已經得到了getgrade_values函數中的所有選定值empid。使用jquery如何獲得下拉其數值框的ID,其中值被選擇的評估函數得到下拉框屬性

function getgrade_values(empid) 
    { 
      var ele='<select id="'+ empid +'" name="emp" style="width:40px;margin:0px 0pt;" >'; 
      ele += '<option value=""></option>'; 
      ele += '<option value="A">A</option>'; 
      ele += '<option value="B">B</option>'; 
      ele += '<option value="C">C</option>'; 
      ele += '<option value="D">D</option>'; 
      ele += '<option value="E">E</option>'; 
      ele += '<option value="F">F</option>'; 
      ele += '</select>'; 
     return ele; 
    } 


    function sendparams(data) 
    { 
     if(data.status == 1) 
     { 

      var ele='<tr id="std"><td><b>Evaluate:</b></label>&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>'; 
      for(var l=0;l<data.emparr.length;l++) 
      { 
       ele += '<tr><td><div id="'+ data.emparr[l].id +'">' + data.emparr[l].name + "</td><td>" + getgrade_values(data.emparr[l].id) + '</div></td></tr>'; 
      ele+= '<input type="button" value="Evaluate" onclick="evaluate();"'; 
      } 

    } 

回答

1
var select = $('select[name="emp"]') 
var empId = select.attr('id') 
alert('empId = '+empId) 
select.children('option:selected').each(function() { 
    alert('grade selected = ' + $(this).val()) 
}) 

DEMO的點擊時:http://jsfiddle.net/hdTEP/

+0

將等級和EMPID是values..I數組想要得到這些ID,其下拉框中值被選擇,而不是「」 – Rajeev 2011-06-01 13:31:09

+0

檢查我的編輯... – netbrain 2011-06-01 13:38:59

+0

如果u可以看看我的代碼有有很多選擇框與emp名稱如何獲得所有這些值.. – Rajeev 2011-06-01 14:21:01

0

目前,你將有2個元素id="<employeeId>"。由於ID在整個頁面中應該是唯一的,因此您應該考慮附加您代表的元素類型,例如id="<employeeId>_gradeInput"用於您的等級下拉菜單。接下來,對於每個用戶,您似乎都有一個提交成績的按鈕。我會用與該按鈕關聯的員工ID進行評估。

function getgrade_values(empid){ 
    var ele='<select id="'+ empid +'_gradeInput" name="emp" style="width:40px;margin:0px 0pt;" >'; 
    ..//Remaining code 
} 

function sendparams(data) { 
if (data.status == 1) { 
    var ele = 
     '<tr id="std">' + 
      '<td>' + 
       '<b>Evaluate:</b>' + 
      '</td>' + 
     '</tr>'; 
    for (var l = 0; l < data.emparr.length; l++) { 
     var employeeId = data.emparr[l].id; 
     ele += 
      '<tr>' + 
       '<td>' + 
        '<div id="' + employeeId + '_divContainer">' + 
         data.emparr[l].name + 
        '</div>' 
       '</td>' + 
       '<td>' + 
        getgrade_values(employeeId) 
       '</td>' + 
      '</tr>'; 
     ele += '<input type="button" value="Evaluate" 
        onclick="evaluate(' + employeeId + ');"'; 
    } 
} 

function evaluate(employeeId){ 
    var gradeValue = $('#' + employeeId + '_gradeInput').val(); 
    ..//Your other evaluate code here 
}