我想用户点击radio的时候,输出选中前的值
jquery代码:
$("input[type=radio]").click(function(){
var newmoney = $(this).attr("data-money"); //修改后的
});
$("input[type=radio]").change(function(){
var newmoney = $(this).attr("data-money"); //也是修改后的
});
经过评论的指点,我在写如下内容时候,的确受到了你提问的影响,有故意使用$.data
的行为,实际上你只需要用变量存储之前radio选中的值就行,完全没有必要使用data()
。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Examples</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<label><input type="radio" name="r" value="rx" data-bingo="db1" >按钮</label>
<label><input type="radio" name="r" value="rx" data-bingo="db2" >按钮</label>
<label><input type="radio" name="r" value="rx" data-bingo="db3" >按钮</label>
<label><input type="radio" name="r" value="rx" data-bingo="db4" >按钮</label>
<label><input type="radio" name="r" value="rx" data-bingo="db5" >按钮</label>
<script type="text/javascript">
$('input').on('change', function(){
//如果上一次change没存节点,就是空,存了就取出来
var $last = $('body').data('preRadio') ? $('body').data('preRadio') : '';
//把这次点击的节点存进去
$('body').data('preRadio', $(this));
//把上次节点的值打印出来
alert($last ? $last.data('bingo') : 'null');
});
</script>
</body>
</html>
$("input[type=radio]").click(function(){
// this.defaultValue
});