我正在研究下面提到的JQuery
jQuery("select[name='hideLineItemColumns_quote'] option:selected").each(function () {
var columnName = $.trim($(this).text());
$('thead.line-item-grid-header tr th').filter(function () {
return $.trim($('div', this).text()) == columnName;
}).hide();
});
因此,基于Select标签的选定选项,Jquery将隐藏表中的各个列。除了一个场景,当columnName =“List Price”它不起作用时,一切正常。如果我在
中特别提到“清单价格”return $.trim($('div', this).text()) == "List Price";
它工作正常。有什么我想念的吗?
以下是选择下拉列表的html
<select name="hideLineItemColumns_quote" multiple="true" style="width:100%;" size="4" class="form-input ">
<option value="__part_desc">Description</option>
<option value="__part_number">Product</option>
<option value="_costEa_line">Cost</option>
<option value="_listPriceEach_line">List Price</option>
</select>
及以下是thead的代码
<thead class="line-item-grid-header">
<tr>
<th align="center" class="list-label ">
<div style="overflow:hidden;width:60px;">List Price</div>
</th>
</tr>
</thead>
它看起来像是在firebug中显示
的空格,而不是任何解决方法?
谢谢, Nitesh
答案 0 :(得分:2)
non-breaking space(U + 00A0 Unicode,160十进制,
)与space character(U + 0020 Unicode,32十进制)不同。好吧,它们似乎都是一个“空间”,但它们绝对是不同的角色。
一种可能的解决方法是,在检查时将非中断空格转换为简单空格:
$.trim($('div', this).text()) == columnName.replace(/\u00A0/g, ' ')
答案 1 :(得分:1)
您的HTML中List Price
与代码中的“定价”不等。
答案 2 :(得分:1)