出于某种原因,一些选择有效,但大部分都没有。我无法弄清楚我做错了什么,也许你可以帮忙吗? 这是关于codepen的现场演示:http://codepen.io/AlexBezuska/pen/dHmge 我的jQuery:
$('#ddlOffice option').hide();
$('#ddlBusiness').change(function(){
var selectedBusiness = $( "#ddlBusiness option:selected").val();
selectedBusiness = parseFloat(selectedBusiness);
$('#ddlOffice option').hide();
$('#ddlOffice option[value="'+selectedBusiness+'"]').show();
$('#txtBusiness').val($( "#ddlBusiness option:selected").text());
});
$('#ddlOffice').change(function(){
$('#txtOffice').val($( "#ddlOffice option:selected").text());
});
奖励积分:我想在没有jQuery的情况下这样做,如果有人有一个简单的方法来做显示和隐藏在原始的javascript或想要做一个没有jQuery的分叉会很棒,
谢谢!
答案 0 :(得分:1)
我想出了一个更好的方法:
var options = $("#ddlOffice").html();
$("#ddlBusiness").change(function(e) {
var selectedValue = $("#ddlBusiness :selected").val();
$("#ddlOffice").html(options);
$('#ddlOffice :not([value="'+selectedValue+'"])').remove();
});
现在正在使用CodePen:http://codepen.io/AlexBezuska/pen/dHmge
答案 1 :(得分:0)
我重写了你的jQuery代码,现在它似乎对我有用(fiddle):
$(function() {
$('#ddlOffice option').hide();
$('#ddlBusiness').change(function(){
var selectedBusiness = parseFloat($("#ddlBusiness").val());
$('#ddlOffice option').hide();
$('#ddlOffice option[value="' + selectedBusiness + '"]').show();
$('#txtBusiness').val($("#ddlBusiness option:selected").text());
});
$('#ddlOffice').change(function(){
$('#txtOffice').val($(this).find("option:selected").text());
});
});
请考虑:
document.ready
或$(function(){ })
。#ddlOffice
选择中相同的值的选项。我的意思是使用将返回相同值的选项的目的是什么?!option
中关闭其中一个select
。