2013-04-16 230 views
1

我正在使用隐藏的HTML变量向PayPal发送信息。虽然这比jQuery的问题更多的是PayPal。我有一个<select>下拉菜单,我只想在<select>菜单中选择某个值时隐藏输入。例如:在选择特定选择值时显示隐藏输入

<form class="test_form"> 
    <select class="test_select"> 
     <option value="test1">Test 1</option> 
     <option value="test2">Test 2</option> 
    </select> 
    <input type="submit" value="submit" /> 
</form> 

比方说,如果我选择“test2”,我希望隐藏的输入出现在窗体中。这是我所使用的代码,但它似乎并没有工作:

<script> 
$('.test_form').change(function(){ 
if ($(".test_select").val() == 'test2'){ 
    $("#test_form").html("<input type="hidden" name="weight" value="0.22" />"); 
} 
}); 
</script> 

我能做些什么,使这个出现在我的代码时,我选择了一定的价值?谢谢你的帮助!做

+0

说明你已经有了一个断了线的有 - 您可以在'hidden'和'weight'的语法突出显示中看到它。 – ahren

+0

在ahren的声明之外,我能想到的唯一事情就是将它放在'jQuery(function($){' – Ohgodwhy

+0

)中,我们不知道'#test_form'是什么,或者它是否存在。 – ahren

回答

1

检查了这一点FIDDLE,不要只是复制和使用,请检查您的错误

$(function(){ 
    $('.test_select').change(function(){ 
     if ($(".test_select").val() == 'test2'){ 
      $(".test_form").append($('<input type="hidden" name="weight" value="0.22" />')); 
     } 
    }); 
}); 
0

最好的事情是保持输入HTML,但让它hidden.Then使其淡入当你喜欢

<input type="text" style="display:none" id="hiddeninput"> 
.... 
.... 
<script> 
function disp(){ 
    $('#hiddeninput').fadeIn(1000); 
} 
</script> 
0

你的代码改成这样

$('.test_select').change(function(){ 
    if ($(".test_select").val() == 'test2'){ 
     $('<input>').attr({ 
      type: 'hidden', 
      value: '0.22', 
      name: 'weight' 
     }).appendTo('form'); 
    } 
}); 
0

将此代码添加到您的代码中米

<div id="test2" class="tests" style="display: none;"> 
<input type="text" name="yourname"/> 
</div> 

你的脚本改为

$('.test_select').change(function() { 
    $('.tests').slideUp("slow"); 
    $('#' + $(this).val()).slideDown("slow"); 
}); 

所以,如果你选择的Test2它会显示文本字段,否则会隐藏文本字段

相关问题