如何在选择上显示INPUT TYPE?

时间:2015-08-11 10:00:31

标签: javascript jquery html css ajax

我知道它很简单,但我尝试了很多解决方案,但我失败了。我有一个表单,我在access-token中使用WebView标记我使用了两个值<select><option>我希望当用户选择呃时,它会显示一个额外的{{1} }}字段。

这是我的代码。

coo

4 个答案:

答案 0 :(得分:2)

我刚测试了你的代码,它运行正常:

Link: https://jsfiddle.net/g95pyqw6/

编辑:但这可能是因为JSfiddle。 尝试取消注释Javascript的第一行,这应该有帮助! : - )

我希望我可以帮助你。如果您需要更多帮助,请随时写评论: - )

答案 1 :(得分:1)

此处您的工作代码(在我的本地计算机上检查)答案就是针对您的问题Jquery not working from Google CND

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>‌​
    <script>
    $(function() {
          $('#s_designation').on('change',function(){
        if( $(this).val()=="uh"){
        $("#uh").show()
        }
        else{
        $("#uh").hide()
        }
    });});
        </script>

    <title>Untitled Document</title>
    </head>

    <body>

    <label for="db">Choose type</label>
    <select name="s_designation" id="s_designation">

       <option value="coo">Chief Operating Officer</option>
       <option value="uh">Unit Head</option>
    </select>

    <div id="uh" style="display:none;">
    <label for="specify">Specify</label>
    <input type="text" name="specify" placeholder="Specify Designation"/>
    </div>

    </body>
    </html>

答案 2 :(得分:1)

jQuery代码在文档加载之前正在执行,这意味着select元素对jQuery不可见,jQuery如果没有,则不会引发错误找不到任何给定的元素。

使用$(document).ready,如下所示,它将在文档加载后加载代码:

<head>
-------
-------
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<script>
$(document).ready(function() {
  $('#s_designation').on('change',function(){
    if( $(this).val()==="uh") {
    $("#uh").show()
    }
    else {
    $("#uh").hide()
    }
  });
});
</script>
-------
</head>

如果你想在页面加载后执行jQuery代码

您只需将jQuery代码放在</body>标记之前,如下所示:

<body>
-------
-------


<script>

  $('#s_designation').on('change',function(){
    if( $(this).val()==="uh") {
    $("#uh").show()
    }
    else {
    $("#uh").hide()
    }
  });

</script>

</body>

答案 3 :(得分:-2)

在您的代码中,您评论了$(function()行:

  

您还缺少必需的jquery库文件

请将此添加到您的HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>

小提琴:http://jsfiddle.net/0mqze5ny/

$(function () {
    $('#s_designation').on('change', function () {
        if ($(this).val() === "uh") {
            $("#uh").show()
        } else {
            $("#uh").hide()
        }
    });
})