我试图在下面的代码中使用html选择框和jquery来获取选定月份的3个月。代码不是将两个变量一起添加,而是将它们视为两个字符串。谁能协助我做到这一点?
<body>
<form role="form" class="form-inline">
<div class="form-group">
<label class="control-label" for="Q1Month">
Quarter 1 Month
</label>
<select class="form-control" id="Q1Month">
<option selected value=''>--Select Month--</option>
<option value='1'>January</option>
<option value='2'>February</option>
<option value='3'>March</option>
<option value='4'>April</option>
<option value='5'>May</option>
<option value='6'>June</option>
<option value='7'>July</option>
<option value='8'>August</option>
<option value='9'>September</option>
<option value='10'>October</option>
<option value='11'>November</option>
<option value='12'>December</option>
</select>
</div>
</form>
<script src="js/jquery.js"></script>
<script>
$(function() {
$('#Q1Month').change(function() {
var month = $(this).val();
$('#Q2Month').val(month);
var advanceby = 3;
var newmonth = month + advanceby;
window.alert(newmonth);
});
});
</script>
</body>
答案 0 :(得分:2)
当从DOM读取任何值时,它是字符串。要将其转换为数字,您可以使用一元+
运算符。
在值
前添加+
var month = +$(this).val();
+
也是Javascript中的连接运算符,因此当操作数中的任何一个字符串+
用于字符串连接时。
$(function() {
$('#Q1Month').change(
function() {
var month = $(this).val();
$('#Q2Month').val(month);
var advanceby = 3;
var newmonth = month + advanceby;
window.alert(newmonth);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<form role="form" class="form-inline">
<div class="form-group">
<label class="control-label" for="Q1Month">
Quarter 1 Month
</label>
<select class="form-control" id="Q1Month">
<option selected value=''>--Select Month--</option>
<option value='1'>January</option>
<option value='2'>February</option>
<option value='3'>March</option>
<option value='4'>April</option>
<option value='5'>May</option>
<option value='6'>June</option>
<option value='7'>July</option>
<option value='8'>August</option>
<option value='9'>September</option>
<option value='10'>October</option>
<option value='11'>November</option>
<option value='12'>December</option>
</select>
</div>
</form>
答案 1 :(得分:0)
因为你提取的值是一个字符串! 您需要的是选项索引和实际值,因此请尝试访问当前选定的选项索引而不是值,然后添加3并重置所需的元素。 希望我帮忙
答案 2 :(得分:0)
val()总是返回字符串,因此在添加
之前使用parseInt()将字符串转换为整数
SELECT *
FROM (
SELECT
month([DateOpened]) as [month], [Status],
COUNT(*) as cnt
FROM [Incidents]
group by month([DateOpened]) , [Status]
) as s
PIVOT
(
SUM(cnt)
FOR [Status] IN ( Active , [Awaiting User Info] , [Closed] , [New] , [Resolved])
)AS pivotname
$(function() {
$('#Q1Month').change(
function() {
var month = parseInt($(this).val(),10);
$('#Q2Month').val(month);
var advanceby = 3;
var newmonth = month + advanceby;
window.alert(newmonth);
});
});