Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于先前选择标记中的选择设置选择标记的可见性_Javascript_Jquery_Html_Css_Select - Fatal编程技术网

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以使用属性动态选择元素(而不是硬代码检查)之前准备就绪。这使得将来的更改更容易。