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