首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >国家因地制宜,城市不因州而变

国家因地制宜,城市不因州而变
EN

Stack Overflow用户
提问于 2020-04-27 17:26:19
回答 1查看 542关注 0票数 0

国家,州,城市

代码语言:javascript
复制
<script>
	$(document).ready(function() {


		$("#item1, #item2").change(function() {
		    var value = $(this).val();
		    $("#item2").html(options[value]);

		    var value1 =$("#item2").val();
			$("#item3").html(options1[value]);
});
	

    var options = [
       "<option value='test'>IN state-1</option><option value='0'>IN state-2</option>",


    "<option value='test'>US state-1</option><option value='1'>US state-2</option>",


    "<option value='test'>UK state-1</option><option value='2'>UK state-2</option>"
    ];


var options1 = [

	"<option value='test'>IN-state -1 city 1</option><option value='1'>IN-state -1 city 1</option>",

	"<option value='test'>US -state -1 city-1</option><option value='2'>US -state -1 city-2</option>",

	"<option value='test'>UK -state -1 city-1</option><option value='3'>UK -state -1 city-2</option>"];


});

</script>
代码语言:javascript
复制
<div class="content-header">
		<div class="container-fluid">
 			<div class="row">
 				<select id="item1">
 					<option disabled="disabled" selected="selected">--select--</option>
				    <option value="0">India</option>
				    <option value="1">US</option>
				    <option value="2">UK</option>
				</select>

				<select id="item2">
				    <option value="">-- select one -- </option>
				</select>

				<select id="item3">
				<option> -- select another one --</option>
				</select>

			</div>
		</div>
	</div>		

在这里,州是根据县而变化的,但城并不是根据州变化的。

*选项var=for状态

option1 var-作为1.*州的城市

现在我想为state-2添加城市,如果我们选择state -2,就会显示这些城市。

最后一次总结:所以基本上各州根据国家变化,我想根据州改变城市。我希望你

EN

回答 1

Stack Overflow用户

发布于 2020-04-27 18:30:53

按照您所使用的模式,下面是解决方案。本质上,我是根据option1 select的值过滤item2数组。请小心,因为我已经清除了额外的空格,以使item2的内部HTML包含item3中的部分选项。

代码语言:javascript
复制
$(document).ready(function() {


		$("#item1").change(function() {
		    var value = $(this).val();
		    $("#item2").html(options[value]);
        $("#item3").html('<option> -- select another one --</option>');

});

$("#item2").change(function() {
		    //var value = $(this).val();
        var filteredOptions = [];
        var innerText = $('#item2 option:selected').html();
        filteredOptions = options1.filter(op=> {
       return op.toLowerCase().includes(innerText.toLowerCase());
        });
		    $("#item3").html(filteredOptions);
});
	

    var options = [
       "<option value='test'>IN state-1</option><option value='0'>IN state-2</option>",


    "<option value='test'>US state-1</option><option value='1'>US state-2</option>",


    "<option value='test'>UK state-1</option><option value='2'>UK state-2</option>"
    ];


var options1 = [

	"<option value='test'>IN state-1 city 1</option><option value='1'>IN state-1 city 1</option>",
  
  "<option value='test'>IN state-2 city 1</option><option value='1'>IN state-2 city 1</option>",

	"<option value='test'>US state-1 city-1</option><option value='2'>US state-1 city-2</option>",

	"<option value='test'>UK state -1 city-1</option><option value='3'>UK state -1 city-2</option>"];


});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="content-header">
		<div class="container-fluid">
 			<div class="row">
 				<select id="item1">
 					<option disabled="disabled" selected="selected">--select--</option>
				    <option value="0">India</option>
				    <option value="1">US</option>
				    <option value="2">UK</option>
				</select>

				<select id="item2">
				    <option value="">-- select one -- </option>
				</select>

				<select id="item3">
				<option> -- select another one --</option>
				</select>

			</div>
		</div>
	</div>

对于每个选定的值,应该有更好的方法来使用不同的变量。但是,由于您的代码是这样构造的,所以我尝试进行最小的更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61464711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档