我有两个下拉列表,一个用于电影,另一个用于剧院,当我在第一个下拉列表中选择电影以打印所选电影和电影正在播放的影院时,与选择要打印影院的影院和播放该影院的电影相同?
怎么做呢……
下面是我的html代码
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="UserData">
<h1><a href="#">Booking</a></h1>
<select class="selectCity" id="selectCity">
<option value="City">Select City</option>
<option value="Bengaluru">Bengaluru</option>
<option value="Hyderabad">Hyderabad</option>
<option value="Guntur">Guntur</option>
<option value="Ongole">Ongole</option>
</select>
<span id="welcome"> </span>
<select class="selectTheater" id="secondselectbox">
</select>
<select class="selectMovie" id="thirdselectbox">
</select>
</div>
<fieldset style="margin-top:20px;">
<legend>Your Selection</legend>
<div>Theater: <span id="selectedTheater"></span></div>
<div>Movie: <span id="selectedMovie"></span></div>
</fieldset>下面是我的js
$(document).ready(function() {
var cityData = [{
cityName: 'Bengaluru',
value: "Bengaluru",
data: [{
movieName: 'ABC',
theaterName: 'Tulsi Theatre'
},
{
movieName: 'DEF',
theaterName: 'PVR'
},
{
movieName: 'GHI',
theaterName: 'Srinivasa Theatre'
}
]
},
{
cityName: 'Hyderabad',
value: "Hyderabad",
data: [{
movieName: '123',
theaterName: 'Theatre1'
},
{
movieName: '456',
theaterName: 'PVR2'
},
{
movieName: '789',
theaterName: 'Theatre3'
}
]
},
{
cityName: 'Guntur',
value: "Guntur",
data: [{
movieName: 'ABC1',
theaterName: 'Theatre4'
},
{
movieName: 'DEF2',
theaterName: 'PVR3'
},
{
movieName: 'GHI3',
theaterName: 'Theatre5'
}
]
},
{
cityName: 'Ongole',
value: "Ongole",
data: []
}
];
$("#selectCity").on('change', function() {
var locations = cityData.filter(c => c.cityName === $(this).val())[0].data;
var locationString = '';
var locationString2 = '';
$.each(locations, function(i, item) {
locationString += '<option value="' + item.theaterName + '">' + item.theaterName + '</option>';
locationString2 += '<option value="' + item.movieName + '">' + item.movieName + '</option>';
});
$('#secondselectbox').html(locationString);
$('#thirdselectbox').html(locationString2);
});
$("#thirdselectbox").on("change", function(){
$("span#selectedMovie").text($(this).val());
});
$("#secondselectbox").on("change", function(){
$("span#selectedTheater").text($(this).val());
});
});当我选择电影时,唯一的电影名称是打印,但我想要打印电影播放剧院也如何做到这一点……
与选择要打印影院名称的影院以及播放该影院的哪部电影相同.
发布于 2017-12-22 16:56:16
好的,不能真的在注释块中粘贴代码,所以请随意对答案部分投反对票。
$("#thirdselectbox, #secondselectbox, #selectCity").on("change", function(){
$("span#selectedMovie").text($("#thirdselectbox").val());
$("span#selectedTheater").text($("#secondselectbox").val());
});此时,您正在更改单个select和更新单个span。而不知道另一个select及其值。代码可以更精炼,我敢肯定。基本上,我的解决方案将为这两个选择添加一个更改事件,然后将值应用于相应的跨度
http://jsbin.com/yibudurafu/edit?html,js,output
我现在去掉了假设。因此,如果城市没有任何剧院和电影,它清除了跨度
https://stackoverflow.com/questions/47937808
复制相似问题