2011-06-01 57 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 
}