Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据所选选项设置输入字段的值_Javascript_Jquery_Forms_Select - Fatal编程技术网

Javascript 根据所选选项设置输入字段的值

Javascript 根据所选选项设置输入字段的值,javascript,jquery,forms,select,Javascript,Jquery,Forms,Select,我正在为一组酒店创建预订表单。每个酒店都有一个特别优惠页面,可以通过在请求URL中添加参数&ratePlanID=xxx来访问该页面 当用户从下拉列表中选择酒店时,如何动态添加ratePLanID 我曾尝试编写一个函数,当用户选择酒店时,用正确的ratePlanID设置输入字段的值,但我无法让它工作 这就是我想到的: 你知道我做错了什么吗?或者用其他方法来实现这一点 $(document).ready(function() { $('#destination').change(functio

我正在为一组酒店创建预订表单。每个酒店都有一个特别优惠页面,可以通过在请求URL中添加参数&ratePlanID=xxx来访问该页面

当用户从下拉列表中选择酒店时,如何动态添加ratePLanID

我曾尝试编写一个函数,当用户选择酒店时,用正确的ratePlanID设置输入字段的值,但我无法让它工作

这就是我想到的:

你知道我做错了什么吗?或者用其他方法来实现这一点

$(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;
}

  });
});

我认为问题在于您的case语句中应该查找字符串值vals是字符串而不是int

比如:


您的case语句需要查找字符串而不是int。把每个箱子都放好。

一些东西。我正在使用一个更新得多的JQuery版本,因为我不确定v1.0缺少了什么

在DOM准备好进行操作之后,我使用jQuery将侦听器添加到选择列表中。这是通过向“文档”添加一个侦听器来完成的,该侦听器等待“就绪”事件,该事件在触发时将执行传递给侦听器的函数。我还为输入字段指定了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>

谢谢你的帮助!实际上,我需要将另一个值传递给输入字段,而不是所选选项的值。这就是我使用switch语句的原因。jQuery请求链接中的1有点让人困惑:它不加载v1.0,而是加载来自GoogleLibs的最新版本。看看源代码:它的版本是1.6.2。
<!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>