【问题标题】: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>&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();"';
           }

   }

【问题讨论】:

    标签: javascript jquery jquery-selectors jquery-validate


    【解决方案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="&lt;employeeId&gt;" 的元素。由于 id 在整个页面中应该是唯一的,因此您应该考虑附加您所代表的元素类型,例如 id="&lt;employeeId&gt;_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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2019-05-29
      相关资源
      最近更新 更多