获取下拉框属性
Posted
技术标签:
【中文标题】获取下拉框属性【英文标题】:get drop down box attributes 【发布时间】:2011-09-06 07:26:10 【问题描述】:在下面我有一个带有员工姓名的 div,并且必须为他们分配一个等级,我的问题是我已经获得了 getgrade_values
函数中所有选定值的 empid。使用 jquery 如何获取单击评估功能时选择值的下拉框及其值
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> </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())
)
演示:http://jsfiddle.net/hdTEP/
【讨论】:
将等级和 empId 是一个值数组。我想获取那些下拉框值被选中而不是 "" 如果你可以查看我的代码,有很多带有 emp 名称的选择框如何获取所有这些值.. 用$('select[name="emp"]').each(function()/*do something*/)
循环它们【参考方案2】:
目前,您将拥有 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
【讨论】:
以上是关于获取下拉框属性的主要内容,如果未能解决你的问题,请参考以下文章