前言
记录一下我写JavaScript和Jquery的时候遇到的一些事
价格 * 数量 = 金额
这个例子算是告诉我了,不要在HTML上写什么onchange方法,直接在Jquery里面写
function ChechUpPrice(value, index) {
var UnitPrice = $("#UnitPrice").val();
$("#TotalAmount[" + index + "]").val((UnitPrice * value).toFixed(3) + 'RMB');
}
$('#UnitPrice,.wareQty').change(function () {
var unitPrice = $('#UnitPrice').val();
if (unitPrice && parseFloat(unitPrice) > 0) {
unitPrice = parseFloat(unitPrice);
} else {
unitPrice = 0;
}
$('.wareQty').each(function (i,e) {
var id = $(e).attr('stockWareId');
var quantity = $(e).val();
if (quantity && parseFloat(quantity) > 0) {
quantity = parseFloat(quantity);
} else {
quantity = 0;
}
$('#totalAmount' + id).text(parseFloat(quantity * unitPrice));
});
})
<span id="totalAmount@(item.ProductStockWarehouseId)"></span>
js计算时间差值
var d1 = new Date('2016/03/28 10:17:22');
var d2 = new Date('2016/03/28 11:17:22');
console.log(parseInt(d2 - d1));//两个时间相差的毫秒数
console.log(parseInt(d2 - d1) / 1000);//两个时间相差的秒数
console.log(parseInt(d2 - d1) / 1000 / 60);//两个时间相差的分钟数
console.log(parseInt(d2 - d1) / 1000 / 60);//两个时间相差的小时数
如果,拿到的不是日期类型,而是"2016-03-28 10:27:00"这种的字符串格式呢,那么就需要先将字符串转换为日期类型。
var t1 = "2016-03-28 10:27:00";
var d1 = t1.replace(/\-/g, "/");
var date1 = new Date(d1);
判断敲回车或Shift+回车
敲回车的时候,还要判断shift键没有按下,否则失效
<input type="text" id="test" value="" />
<script>
$(function(){
$('#test').keydown(function (e){
if(e.keyCode == 13 && !e.shiftKey){
console.log('我敲了回车')
}else if(e.shiftKey && e.keyCode == 13 ){
console.log('我敲了Shift+回车')
}
})
})
</script>
js控制textarea换行
有时候,在做聊天的时候,textarea我希望敲回车发送消息,敲shift+回车才是换行,这个和上面的一样的其实
因为本身textarea就有敲回车换行的功能,所以我们只需要禁止敲回车换行即可
<textarea id="test" style="height: 600px; width:600px;" >大家好,我是Vae</textarea>
<script>
$(function(){
$('#test').keydown(function (e){
if(e.keyCode == 13 && !e.shiftKey){
console.log('我敲了回车')
e.preventDefault();
}
})
})
</script>
就是如此preventDefault是禁止事件发生的意思,这样敲回车就不会换行了,按下shift+回车才会换行