2011-09-01 70 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

相关问题