jQuery(document).ready(function () {
$lstAccountType = $('select[id*="account_type"]');
$lstAccountType.change(function () {
$(this).remove('option[text="select one"]')
});
});
我想在点击时删除下拉列表中的第一个元素。有没有人对此有任何指示?
答案 0 :(得分:7)
你应该可以使用:
$lstAccountType.change(function () {
$lstAccountType.find("option[value='"+$lstAccountType.val()+"']").remove();
});
我没有对此进行过测试,但是如果它有任何好处,我可以告诉我吗?
修改强>
如果您只想在每次尝试时删除第一个选项:
$lstAccountType.change(function () {
if ($lstAccountType.find("option:first").attr("value") == $lstAccountType.val()) {
$lstAccountType.find("option[value='"+$lstAccountType.val()+"']").remove();
}
});
它需要一些整理,但希望这可能有所帮助。
修改强>
如果您只想删除第一个选项:
var first_option_removed = false;
$lstAccountType.change(function () {
if (!first_option_removed) {
if ($lstAccountType.find("option:first").attr("value") == $lstAccountType.val()) {
$lstAccountType.find("option[value='"+$lstAccountType.val()+"']").remove();
first_option_removed = true;
}
}
});
答案 1 :(得分:0)
$(this).remove('option:first')
如果您确定要始终删除第一个,那么应该可以解决问题。
编辑:
$(this).remove('option:contains(select one)');
应该在文字上进行。
答案 2 :(得分:0)
或者如果您想要更容易阅读的内容,请记住您可能希望绑定onFocus
,因为您希望在单击选择后删除第一个列表项。< / p>
$('#mySelectId').bind('focus' function(){
var listItems = $('#mySelect li');
if(listItems.length > 0){
$(listItems[0]).remove();
}
});