2016-12-24 74 views
0

我想将我的组合框的选定值传递给ID为“val”的输入值。将我的组合框的选定值传递给另一个输入值

我试图使用jQuery

$(document).ready(function() { 
      $('#btn').click(function(e) { 
       $('#combobox').change(function() { 
        var selected = $('option:selected', $(this)).text(); 
        alert($('#val').val(selected)); 
       }); 

      }); 
     }); 

传递价值,但它不工作。请帮忙。

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
<link rel="stylesheet" 
 
\t href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<script 
 
\t src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script 
 
\t src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
</head> 
 
<body> 
 
\t <div class="container"> 
 
\t \t <h1>Form</h1> 
 
\t \t <form method="post" id="form" name="form"> 
 
\t \t \t <div class="form-group row"> 
 
\t \t \t \t <label class="col-xs-3 control-label" style="margin-top: 10px;">Choice</label> 
 
\t \t \t \t <div class="col-xs-5 selectContainer"> 
 
\t \t \t \t \t <select id="combobox" class="form-control"> 
 
\t \t \t \t \t \t <option value="1">1</option> 
 
\t \t \t \t \t \t <option value="2">2</option> 
 
\t \t \t \t \t </select> 
 
\t \t \t \t </div> 
 
\t \t \t \t <input id="val" type="hidden" name="val"> 
 
\t \t \t \t <input id="btn" class="btn btn-info" value="Submit"> 
 
\t \t \t </div> 
 
\t \t </form> 
 
\t </div> 
 

 
\t <script type=text/javascript> 
 
\t \t $(document).ready(function() { 
 
\t \t \t $('#btn').click(function(e) { 
 
\t \t \t \t $('#combobox').change(function() { 
 
\t \t \t \t \t var selected = $('option:selected', $(this)).text(); 
 
\t \t \t \t \t alert($('#val').val(selected)); 
 
\t \t \t \t }); 
 

 
\t \t \t }); 
 
\t \t }); 
 
\t </script> 
 
</body> 
 
</html>

+0

你嵌套了您的事件处理程序。点击更改。这总是表明代码是错误的。 –

+0

欢迎使用堆栈溢出。请注意,在发布类似答案时(不是最后一次添加的答案),可以自定义第一个答案。 –

回答

0

.change时并不需要。在按钮上单击,您可以直接访问您的下拉列表中选定的值。请检查下面的代码。

\t \t $(document).ready(function() { 
 
\t \t \t $('#btn').click(function(e) { 
 
\t \t \t \t \t alert($('#combobox option:selected').val()); 
 
\t \t \t }); 
 
\t \t });
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
<link rel="stylesheet" 
 
\t href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<script 
 
\t src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script 
 
\t src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
</head> 
 
<body> 
 
\t <div class="container"> 
 
\t \t <h1>Form</h1> 
 
\t \t <form method="post" id="form" name="form"> 
 
\t \t \t <div class="form-group row"> 
 
\t \t \t \t <label class="col-xs-3 control-label" style="margin-top: 10px;">Choice</label> 
 
\t \t \t \t <div class="col-xs-5 selectContainer"> 
 
\t \t \t \t \t <select id="combobox" class="form-control"> 
 
\t \t \t \t \t \t <option value="1">1</option> 
 
\t \t \t \t \t \t <option value="2">2</option> 
 
\t \t \t \t \t </select> 
 
\t \t \t \t </div> 
 
\t \t \t \t <input id="val" type="hidden" name="val"> 
 
\t \t \t \t <input id="btn" class="btn btn-info" value="Submit"> 
 
\t \t \t </div> 
 
\t \t </form> 
 
\t </div> 
 
</body> 
 
</html>

0

需要在#btn

$('#combobox').change(function() { 
    var selected = $('option:selected', $(this)).text(); 
    $('#val').val(selected) 
    alert($('#val').val()); 
}); 

https://jsfiddle.net/

0

删除点击事件你有嵌套的事件处理程序。点击更改。这总是表明代码是错误的。您将在每次点击时添加新的更改处理程序,这不是您想要的。

这是不是100%清楚你正在尝试做的,但你可以这样开始:

$(function() { 
    $('#combobox').change(function() { 
     var selected = $(this).val(); 
     $('#val').val(selected); 
     alert($('#val').val()); 
    }); 
}); 

注:val()select将返回选定的值,这样你就不需要使用option:selected及其text

0

请试试这个。

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
 
<link rel="stylesheet" 
 
\t href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<script 
 
\t src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script 
 
\t src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
</head> 
 
<body> 
 
\t <div class="container"> 
 
\t \t <h1>Form</h1> 
 
\t \t <form method="post" id="form" name="form"> 
 
\t \t \t <div class="form-group row"> 
 
\t \t \t \t <label class="col-xs-3 control-label" style="margin-top: 10px;">Choice</label> 
 
\t \t \t \t <div class="col-xs-5 selectContainer"> 
 
\t \t \t \t \t <select id="combobox" class="form-control"> 
 
\t \t \t \t \t \t <option value="1">1</option> 
 
\t \t \t \t \t \t <option value="2">2</option> 
 
\t \t \t \t \t </select> 
 
\t \t \t \t </div> 
 
\t \t \t \t <input id="val" type="hidden" name="val"> 
 
\t \t \t \t <input id="btn" class="btn btn-info" value="Submit"> 
 
\t \t \t </div> 
 
\t \t </form> 
 
\t </div> 
 

 
\t <script type=text/javascript> 
 
\t \t $(document).ready(function() { 
 
\t \t \t 
 
\t \t \t \t $('#combobox').change(function() { 
 
\t \t \t \t \t var selected = $('option:selected', $(this)).text(); 
 
$('#val').val(selected) 
 
alert($('#val').val()); 
 
\t \t \t \t 
 

 
\t \t \t }); 
 
\t \t }); 
 
\t </script> 
 
</body> 
 
</html>

相关问题