鉴于此html: code 我想在选择d1导致选项2中的b选择不可用(删除)。但是,如果页面刷新或在d1中选择了任何其他选项,那么r1中的所有选项都应该可用。jquery删除条目选择下拉列表,如果在另一个下拉列表中选择
这是可能的JQuery的? http://jsfiddle.net/dwvYY/6/
我遇到的一个最初的问题是我似乎无法使用我的客户端工具(SharePoint放置在Select标签上)的title属性来引用select。
谢谢。
鉴于此html: code 我想在选择d1导致选项2中的b选择不可用(删除)。但是,如果页面刷新或在d1中选择了任何其他选项,那么r1中的所有选项都应该可用。jquery删除条目选择下拉列表,如果在另一个下拉列表中选择
这是可能的JQuery的? http://jsfiddle.net/dwvYY/6/
我遇到的一个最初的问题是我似乎无法使用我的客户端工具(SharePoint放置在Select标签上)的title属性来引用select。
谢谢。
您可以通过禁用索引选项或隐藏它。 这里是我的解决方案: http://jsfiddle.net/PabZk/
通过索引选择选项在大型列表中是一个好主意。
也许这段代码给你一个线索如何实现它,你应该考虑使用一个switch语句intsted。
如果选b 3号将在其他选择列表被禁用,看看这个小提琴:http://jsfiddle.net/dwvYY/7/
$("select[title$=d1]").change(function(){
// Reset the options:
$("select[title$=r1]").children("option").removeAttr("disabled","disabled")
var selectedValue = $(this).val();
if(selectedValue =="b"){
// This will disable one option
$("select[title$=r1]").children("option[value='3']").attr("disabled","disabled")
}
})
这应该回答两个提问。首先,在您的jsFiddle中,您的代码正在文档的头部运行,而不是onLoad或onDOMready。第二,当从第一个列表中选择“b”时,该代码应该按照你所要求的从第二列表中去除“2”的方式进行:
的jQuery:
$('select[title$=r1] option:eq(0)').text("Please Select").val("");
$('select[title$=d1] ').click(function() {
if ($(this).val() == 'b') {
$('select[title$=r1] option[value="2"]').remove();
}
});
你需要以监听change
事件的值来动态改变:
$('select[title="rl"]').change(function() {
var $this = $(this);
var options = $('' + $this + ' option');
options.each(function() {
// perform actions on each option value
});
});
你可以只显示/隐藏需要在change
事件有条件选项的select元素。尝试这个。
var $selectr1 = $('select[title=r1]');
$('select[title=d1]').change(function(){
$selectr1.find("option").show();
if(this.value == "b"){
$selectr1.find("option[value='2']").hide();
}
});
工作演示 - http://jsfiddle.net/dwvYY/8/
$(function(){
$("select[title=d1]").change(function(){
if($(this).val()=="b")
{
$("select[title=r1] option[value='2']").remove();
}
else
{
$("select[title=r1] option[value='2']").remove();
$("select[title=r1] option[value='1']").after($("<option></option>").attr("value","2").text("2"));
}
});
})
非常不错..禁用工程太棒了。 – o365spo 2012-03-28 16:13:00