Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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_Html_Drop Down Menu_Onclick_Onchange - Fatal编程技术网

Javascript 在下拉选择中显示文本框

Javascript 在下拉选择中显示文本框,javascript,html,drop-down-menu,onclick,onchange,Javascript,Html,Drop Down Menu,Onclick,Onchange,我试过做onchange和onclick事件,但两者都有问题。在执行代码时,Firebug告诉我没有定义showTextBox函数 当为状态下拉列表选择值1时,我需要显示包含文本框的。我在选项标记中移动了onclick属性,并尝试了onchange属性,但仍然没有在Firebug中定义get showTextBox() <select id="AddrType" onclick="showTextBox();" height="30px" style="width: 90p

我试过做onchange和onclick事件,但两者都有问题。在执行代码时,Firebug告诉我没有定义showTextBox函数

当为状态下拉列表选择值1时,我需要显示包含文本框的
。我在选项标记中移动了onclick属性,并尝试了onchange属性,但仍然没有在Firebug中定义get showTextBox()

<select id="AddrType" onclick="showTextBox();"
        height="30px" style="width: 90px"> 
  <option value="10"></option>
  <option value="0">City</option>
  <option value="1">State</option>
  <option value="2">Zip</option>
</select>   

 <br />

 <div id="stateText" style="visibility: hidden">
   State <input type="text" id="STATE"/>
 </div>
有什么帮助吗。我已经在谷歌上搜索过了,但似乎找不到有效的东西。我无法使用
document.getElementById()
函数。

您的
val()
可能返回的是
“1”
,而不是您正在检查的
“State”

不仅在jQuery上,而且当您将表单数据发布到服务器时,
AddrType
的值将是所选
选项的
value
属性(“在您的情况下,City/State/Zip”只是值的“标题”)。

尝试以下操作:

<script type='text/javascript'>

  $(document).ready(function(){
       $('#AddrType').change(function(){
           if ($(this).val() == '1') {
               $('#stateText').css({'display':'block'});           
           }
        });
  });


</script>

是的,我理解,但出于某种原因,Firebug告诉我函数未定义。在Firebug中调用该函数时,选择onclick=“showTextBox();”,表示未定义showTextBox。可能是函数定义上方的代码中存在语法错误,导致FireFox无法解析您的函数。尝试在FireBug控制台中输入
showTextBox
,查看是否定义了它。此on change中没有onclick或onchange事件,它会提醒值是多少。?是的..因为运行时下拉列表的m binding change事件。我已经更新了我的答案。它正是你在代码中试图做的。这是GetSign closer,因为它在change函数中。我得到的样式是未定义的错误。style=“visibility:hidden”在div上有效吗?哦,天哪,jquery对象没有这样的“样式”。我已经更新了我的答案。由于某些原因,现在查看它。它不喜欢onchange属性。它告诉我函数未定义,但它清楚地显示在我的文档中。就绪。我使用你的第一个建议,但是使用.css({'visibility':'visible'});谢谢你的帮助!我想你的代码中有一个showTextBox的结尾}?
<script type='text/javascript'>

  $(document).ready(function(){
       $('#AddrType').change(function(){
           if ($(this).val() == '1') {
               $('#stateText').css({'display':'block'});           
           }
        });
  });


</script>
   <select id="AddrType" height="30px" style="width: 90px"> 
     <option value="10"></option>
     <option value="0">City</option>
     <option value="1">State</option>
     <option value="2">Zip</option>
  </select>   
   <select id="AddrType"  onchange="showTextBox()" height="30px" style="width: 90px"> 
      <option value="10"></option>
      <option value="0">City</option>
      <option value="1">State</option>
      <option value="2">Zip</option>
  </select>
   function showTextBox(){
        if ($('#AddrType').val() == '1') {
                   $('#stateText').css({'visibility':'visible'});
    }