编辑: 谢谢大家,但似乎没有任何工作。我将此代码插入到我知道正在使用的文件中,并且包含通常格式化的其他javascript块,但这仍然无效。它适用于小提琴,但不适用于我的代码。我想这对于我试图修改的平台和扩展来说太具体了(这是由第三方扩展修改的Magento结账步骤的一部分)。我将开始考虑用手动生成的列表替换列表。再次感谢。
我正在尝试隐藏一个以dinamically生成的下拉列表中的选项。 CSS解决方案并不适用于所有浏览器,即使我在这里找到了几个类似的问题,也没有一个提供适用于我的解决方案。
这是我的列表呈现的内容:
<select id="timeselect" name="adj[delivery_time][]" title="El plazo de la entrega" class="adjtimeselect select" type="time" ><option id="option-10" value="10" >10</option>
<option id="option-11" value="11" >11</option>
<option id="option-12" value="12" >12</option>
<option id="option-13" value="13" >13</option>
<option id="option-14" value="14" >14</option>
<option id="option-15" value="15" >15</option>
<option id="option-16" value="16" >16</option>
<option id="option-17" value="17" >17</option>
<option id="option-18" value="18" >18</option>
<option id="option-19" value="19" >19</option>
<option id="option-20" value="20" >20</option>
</select>
我需要隐藏值为“12”的选项。 我正在使用这个JS:
$("#timeselect option[value='12']").remove();
因为我是JS的新手,所以我会非常感激。
感谢。
答案 0 :(得分:4)
使用JQuery的hide()
功能:jsFiddle
您可以使用show()
将其取回
答案 1 :(得分:2)
我尝试了很多不同的方法,但这个解决方案似乎合理且跨浏览器兼容,我在我的代码中使用过。没有插件需要使用jquery对象的简单注册函数
解决方案:
(function ($) {
$('#showOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', true);
});
$('#hideOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', false);
});
$.fn.showHideDropdownOptions = function(value, canShowOption) {
$(this).find('option[value="' + value + '"]').map(function () {
return $(this).parent('span').length === 0 ? this : null;
}).wrap('<span>').hide();
if (canShowOption)
$(this).find('option[value="' + value + '"]').unwrap().show();
else
$(this).find('option[value="' + value + '"]').hide();
}
})(jQuery);
以下是完整的实施http://jsfiddle.net/8uxD7/3/
答案 2 :(得分:1)
Jquery按值删除
$("#timeselect option[value=11]").remove();
按文本删除Jquery
$("#timeselect option:contains(11)").remove();
Jquery
使用css隐藏选择框选项及其值
$("#timeselect option[value='11']").hide();
或
$("#timeselect option[value='11']").css('display','none');
答案 3 :(得分:1)
您可以使用jQuery remove()函数。如果要从DOM中永久删除它,或者如果要删除并重新插入它,请使用detach()
$("#timeselect option[value='12']").remove();
或分离
var value = $("#timeselect option[value='12']").detach();
使用
重新插入$("#timeselect").append(value);
http://jsbin.com/iHIrAQE/5/edit
参见示例
另一种方法是您可以禁用该值,以便用户可以看到但无法选择
$("#timeselect option[value='12']").attr('disabled','disabled');