2016-11-10 160 views
0

我试图根据div标签中的元素的文本或值选择一个选项。例如,div元素包含“报告:报告名称”。我修整了空格并删除了“Reports:”,所以只要返回报表名称,但它表示它是未定义的。令人困惑的是我在一张桌子上做了它,并且返回正常。这里是我的代码:选择过滤器返回undefined jQuery

var reports = $.trim($('#reports_' + id).html()); 
var report_selected = reports.replace('Reports:', ''); 

var highlight_report = $('#edit_reports option').filter(function() { 
    return ($(this).text() === report_selected || $(this).val === report_selected); 
}); 

$('#edit_reports').val(highlight_report.val()); 

和HTML选择菜单:

<select id="edit_reports" name="edit_reports[]" multiple 
      style='height: 200px; width: 240px; padding-left: 2px;'> 
     <?php 
      $q = pg_query("SELECT * FROM tblmenuitems ORDER BY name"); 
      while ($row = pg_fetch_assoc($q)) { 
     ?> 
      <option value="<?php echo $row['menuitemid']; ?>"><?php echo $row['name']; ?></option> 
     <?php 
      }     
     ?> 
</select> 

就像我说的,它工作得很好了我的代码的另一部分,但是这是不是,它只是返回undefined。任何帮助,将不胜感激。

谢谢

回答

0

您的代码找不到reports_ + id。 再次检查。 因为你的代码不确定。

+0

这是现场:

Reports: Ad Hoc Universe
user2101411

+0

和这段代码(alert(report_selected); return false;)返回'Ad Hoc Universe' – user2101411

+0

Oh.i似乎不是。 –