2011-09-01 71 views
0

我正在爲一組酒店創建預訂表單。每家酒店都有一個特別優惠頁面,您可以通過在請求URL中添加參數&ratePlanID=xxx來訪問該頁面。根據所選選項設置輸入字段的值

如何在用戶從下拉列表中選擇酒店時動態添加ratePLanID?

我試過編寫一個函數,當用戶選擇酒店時,用正確的ratePlanID設置輸入字段的值,但是我不能讓它工作。

這是我想出了:http://jsbin.com/oduhet/3/edit#javascript,html,live

任何想法,我做錯了什麼在這裏或另一種方式來做到這一點?

回答

0

我認爲這個問題是在你的case聲明你應該尋找的字符串值(瓦爾斯是字符串不是INTS )。

像:

switch(hotel) 
    { 
     case '15205': 
     $('[name=ratePlanID]').val(1); 
     break; 
     case '15206': 
     $('[name=ratePlanID]').val(2); 
     break; 
      case '15207': 
     $('[name=ratePlanID]').val(3); 
     break; 
    } 
0
$(document).ready(function() { 
    $('#destination').change(function() { 
    var hotel = $('#destination').val(); 
    $('[name=ratePlanID]').val(hotel); 
    }); 
}); 

在您更換這段JavaScript代碼

而對於開關的情況下

$(document).ready(function() { 
    $('#destination').change(function() { 
    var hotel = $('#destination').val(); 
    switch(hotel) 
{ 
    case '15205': 
    $('[name=ratePlanID]').val('1'); 
    break; 
    case '15206': 
    $('[name=ratePlanID]').val('2'); 
    break; 
     case '15207': 
    $('[name=ratePlanID]').val('3'); 
    break; 
} 

    }); 
}); 
0

你的 「情況」 語句需要尋找 「串」 不 「整數」。把''放在每個案件周圍。

0

有幾件事。我使用的是更新版本的JQuery,因爲我不確定v1.0缺失。

我添加一個偵聽器使用jQuery的選擇列表後,DOM準備好被操縱。這是通過向等待「準備」事件的'文檔'添加一個監聽器來完成的,當被觸發時,它將執行傳遞給監聽器的函數。我還給了輸入字段id ratePlanInput,以便我可以在JavaScript中引用它。

<!DOCTYPE html><html><head> 
<script class="jsbin" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { // add listener for document ready 
    $('#destination').change(function() {  //add a listener for change 
     var selectedValue = $(this).find(":selected").val(); 
     $('#ratePlanInput').val(selectedValue); 
    }); 

    }); 


</script> 

</head><body> 


<form action="http://www.example.com" method="get"> 

    <select name="hotelID" id="destination"> 
    <option value="" class="first_option" selected="selected" disabled="disabled">Select a property:</option> 
    <option value="15205">City Hotel</option> 
    <option value="15206">Beach Hotel</option> 
    <option value="15207">Business Hotel</option> 
    </select> 

    <input type="text" name="ratePlanID" value="" id="ratePlanInput" />   

    <button type="submit">Check availability</button>  

</form> 


</body></html> 
+0

感謝您的幫助!其實我需要傳遞另一個值到輸入字段,而不是所選選項的值。這就是我使用switch語句的原因。 jQuery請求鏈接中的「1」(http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js)有點混亂:它不會加載v1.0,而是最新的版本來自Google庫。看看源代碼:它的版本是1.6.2。 – Mattvic

相關問題