Javascript 基于先前选择标记中的选择设置选择标记的可见性
我想让我的“州选择”下拉列表只有在之前的下拉列表中选择了一个国家后才可见 这是我的密码:Javascript 基于先前选择标记中的选择设置选择标记的可见性,javascript,jquery,html,css,select,Javascript,Jquery,Html,Css,Select,我想让我的“州选择”下拉列表只有在之前的下拉列表中选择了一个国家后才可见 这是我的密码: <form> Name: <input type="text" name="name" autofocus> <br /> E-mail: <input type="text" name="email"> <br /> <input type="radio" name="sex" value="male
<form>
Name: <input type="text" name="name" autofocus>
<br />
E-mail: <input type="text" name="email">
<br />
<input type="radio" name="sex" value="male">Male
<br />
<input type="radio" name="sex" value="female">Female
<br />
<select name="country" onchange="showStates()" id="country">
<option>Select A Country</option>
<option id="US" value="US">USA</option>
<option id="AUS" value="AUS">Australia</option>
</select>
<br />
<select name="State" style="display:none;" id="us-states">
<option>Select A State</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
</select>
<br />
<select name="State" style="display:none;" id="aus-states">
<option value="" selected="selected">Select A State</option>
<option value="TAS">Tasmania</option>
<option value="QLD">Queensland</option>
<option value="VIC">Victoria</option>
</select>
<br />
<button type="submit">Submit</button>
<br />
<input type="reset" value="Reset">
</form>
我发现程序最初会隐藏选择框,但在国家标签中选择新选项时不会重新绘制它们。这是怎么回事
function showStates(id)
{
$("#"+id).css("display", "block");
}
$("#country").on("change", function(){
showStates('us-states');
});
这是怎么回事
function showStates(id)
{
$("#"+id).css("display", "block");
}
$("#country").on("change", function(){
showStates('us-states');
});
这是怎么回事
function showStates(id)
{
$("#"+id).css("display", "block");
}
$("#country").on("change", function(){
showStates('us-states');
});
这是怎么回事
function showStates(id)
{
$("#"+id).css("display", "block");
}
$("#country").on("change", function(){
showStates('us-states');
});
您可以使用jQuery执行此操作:
$('#country').on('change', function() {
var selected = $(this).val();
if(selected === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(selected === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
});
}
或:
$('#country').on('change',function()
{
var selected = $(this).val();
showStates(selected);
});
function ShowStates(value)
{
if(value === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(value === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
}
显示状态功能:
$('#country').on('change',function()
{
var selected = $(this).val();
showStates(selected);
});
function ShowStates(value)
{
if(value === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(value === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
}
您可以使用jQuery执行此操作:
$('#country').on('change', function() {
var selected = $(this).val();
if(selected === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(selected === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
});
}
或:
$('#country').on('change',function()
{
var selected = $(this).val();
showStates(selected);
});
function ShowStates(value)
{
if(value === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(value === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
}
显示状态功能:
$('#country').on('change',function()
{
var selected = $(this).val();
showStates(selected);
});
function ShowStates(value)
{
if(value === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(value === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
}
您可以使用jQuery执行此操作:
$('#country').on('change', function() {
var selected = $(this).val();
if(selected === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(selected === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
});
}
或:
$('#country').on('change',function()
{
var selected = $(this).val();
showStates(selected);
});
function ShowStates(value)
{
if(value === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(value === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
}
显示状态功能:
$('#country').on('change',function()
{
var selected = $(this).val();
showStates(selected);
});
function ShowStates(value)
{
if(value === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(value === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
}
您可以使用jQuery执行此操作:
$('#country').on('change', function() {
var selected = $(this).val();
if(selected === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(selected === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
});
}
或:
$('#country').on('change',function()
{
var selected = $(this).val();
showStates(selected);
});
function ShowStates(value)
{
if(value === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(value === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
}
显示状态功能:
$('#country').on('change',function()
{
var selected = $(this).val();
showStates(selected);
});
function ShowStates(value)
{
if(value === "US") {
$('#us-states').show();
}
else {
$('#us-states').hide();
}
if(value === "AUS") {
$('#aus-states').show();
}
else {
$('#aus-states').hide();
}
}
既然您已经在使用jQuery,就可以取消内联函数调用。只需添加一个更改处理程序,并使用
#country
的值来确定要显示的元素:
$('#country').on('change', function() {
var country = this.value.toLowerCase();
$('select[name="State"]').hide()
.filter('#' + country + '-states')
.show();
});
因为您已经在使用jQuery,所以可以取消内联函数调用。只需添加一个更改处理程序,并使用
#country
的值来确定要显示的元素:
$('#country').on('change', function() {
var country = this.value.toLowerCase();
$('select[name="State"]').hide()
.filter('#' + country + '-states')
.show();
});
因为您已经在使用jQuery,所以可以取消内联函数调用。只需添加一个更改处理程序,并使用
#country
的值来确定要显示的元素:
$('#country').on('change', function() {
var country = this.value.toLowerCase();
$('select[name="State"]').hide()
.filter('#' + country + '-states')
.show();
});
因为您已经在使用jQuery,所以可以取消内联函数调用。只需添加一个更改处理程序,并使用
#country
的值来确定要显示的元素:
$('#country').on('change', function() {
var country = this.value.toLowerCase();
$('select[name="State"]').hide()
.filter('#' + country + '-states')
.show();
});
替换
document.getElementByID
为document.getElementByID
替换document.getElementByID
为document.getElementByID
替换document.getElementByID
替换document.getElementByID
为document.getElementById
感谢您的帮助。但是,在我的本地计算机上,它似乎运行不正常。我已经验证了jQuery正在运行,但是javascript似乎没有生效。@user2234378请确保上述内容已包装在$(document.ready)中(function(){//code over goes here})代码>-这确保dom在尝试操作其属性+1以使用属性动态选择元素(而不是硬代码检查)之前准备就绪。这使得将来的更改更容易。谢谢您的帮助。但是,在我的本地计算机上,它似乎运行不正常。我已经验证了jQuery正在运行,但是javascript似乎没有生效。@user2234378请确保上述内容已包装在$(document.ready)中(function(){//code over goes here})代码>-这确保dom在尝试操作其属性+1以使用属性动态选择元素(而不是硬代码检查)之前准备就绪。这使得将来的更改更容易。谢谢您的帮助。但是,在我的本地计算机上,它似乎运行不正常。我已经验证了jQuery正在运行,但是javascript似乎没有生效。@user2234378请确保上述内容已包装在$(document.ready)中(function(){//code over goes here})代码>-这确保dom在尝试操作其属性+1以使用属性动态选择元素(而不是硬代码检查)之前准备就绪。这使得将来的更改更容易。谢谢您的帮助。但是,在我的本地计算机上,它似乎运行不正常。我已经验证了jQuery正在运行,但是javascript似乎没有生效。@user2234378请确保上述内容已包装在$(document.ready)中(function(){//code over goes here})代码>-这确保dom在尝试操作其属性+1以使用属性动态选择元素(而不是硬代码检查)之前准备就绪。这使得将来的更改更容易。