2013-04-16 236 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它會顯示文本字段,否則會隱藏文本字段

相關問題