选中的单选按钮显示文本框

时间:2014-03-19 19:01:51

标签: javascript php jquery

我在这个网站上搜索了几个问题,但找不到有用的问题,我遇到的问题是:

我有2个无线电表格框,称为“Youtube'和#39;图片'我想要这个:当我点击Youtube的单选框时会显示一个文本表单,我无法解决这个问题,这就是为什么我希望你做的人! 谢谢你的时间!

我的Javascript:

        <SCRIPT LANGUAGE="JavaScript">
    $("input[type='radio']").change(function(){

   if($(this).val()=="youtube")
   if($(this).val()=="pic")
   {
      $("#youtube").show();
   }
   else
   {
       $("#youtube").hide(); 
   }

    });
    </script>

我的表格:

 echo '
   <form action="post.php" method="post">
    title: <input name="title" type="text" id="title"><br />';

    //Picture link: <input name="pic" type="text" SIZE="80" id="pic"><br />
    //Youtube link: <input name="youtube" type="text" SIZE="80" id="youtube"><br />';
    echo '
    <input type="radio" name="youtube" value="youtube">Youtube <input style="display: none;" type="text" name="youtube" id="youtube"/> | <input type="radio" name="pic" value="pic">Picture <input style="display: none;" type="text" name="pic" id="pic"/><br />
    Category game: 
     <select name="cat">';
      while($row=mysql_fetch_array($query2)){
echo '
       <option value="'.$row["nameID"].'">'.$row["name"].'</option> // here is the problem
        '; }
      echo '
     </select>
    <input type="submit" name="submit" value="submit">
   </form>
 ';

4 个答案:

答案 0 :(得分:1)

也许您不需要进行实际测试。只需显示该输入字段旁边的文本字段即可。 这是一个示例: http://jsfiddle.net/joeSaad/CTFJh/

$('input[type="radio"]').change(function(){
    $('input[type="text"]').hide();
    $(this).next('label').next('input[type="text"]').show(); });

希望这会有所帮助。

答案 1 :(得分:0)

您嵌套了if语句。只有在两者都为真的情况下才会使用该代码。

您的输入类型='radio'标签未“关闭”,它们应以斜杠结尾,如下所示:

  

input type =“radio”name =“something”value =“something”/&gt;

您投诉的文字表单已在HTML代码中

  

input style =“display:none;” type =“text”name =“youtube”   ID = “YouTube” 的/&GT;

  

input style =“display:none;” type =“text”name =“pic”id =“pic”/&gt;

默认情况下不显示,因此style =“display:none”, 当if语句的计算结果为true时,将删除display:none

答案 2 :(得分:0)

简化并取消嵌套if语句,如下所示:

if($(this).val()=="youtube")
   $("#youtube").show(); 
} else {
   $("#youtube").hide(); 
}

这只是说单选按钮是YouTube按钮,然后显示youtube输入,否则隐藏它。

答案 3 :(得分:0)

我认为你需要这样做..

        $("input[type='radio']").change(function(){

    if($(this).val()=="youtube")
    {
       $("#youtube").show();
       $("#pic").hide();
    }
     if($(this).val()=="pic")
    {
       $("#pic").show();
       $("#youtube").hide();
    }

});

这样可以正常工作,但你必须小心地&gt;&gt;看看这个伙伴:

<input type="radio" name="youtube" value="youtube">Youtube <input style="display: none;" type="text" name="youtube" id="youtube"/> 


图片

设置收音机名称时,设置收音机的名称相同..像youtube,youtube ... 另外,看一下表格中的另一个名字,你为多个元素使用相同的名字,这个错误的伴侣,给另一个元素的防御名称..可以在php端得到它,没有任何错误......

祝你好运