Sat*_*ate 2 jquery button radio
我有一个表单输入,由两个单选按钮组成,一个名称,如下所示:
<label for="thumb">[thumb]</label>
<input type="radio" name="type" value="thumb" checked />
<label for="img">[img]</label><input type="radio" name="type" value="img" />
Run Code Online (Sandbox Code Playgroud)
在jQuery函数中,我引用了哪一个被检查:
type=$('input[name="type"]').is(':checked').val();
Run Code Online (Sandbox Code Playgroud)
出于某种原因,即使我更改了页面上的复选框,如果总是返回前者.
以下是完整代码,用于消除:
<html>
<head>
<title>Thumb/img BBCode generator</title>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'></script>
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
<noscript>Please enable Javascript or use the <a href='index2.php'>old generator</a></noscript>
</head>
<body>
<h2>Thumb/img BBCode generator for Facepunch</h2>
<div id="content">
<form id="f" action="generate2.php" method="POST">
<label for="thumb">[thumb]</label>
<input type="radio" name="type" value="thumb" checked />
<label for="img">[img]</label><input type="radio" name="type" value="img" /><br />
<textarea rows="30" cols="40" name="text">Insert image links on seperate lines</textarea><br />
<input type="button" value="Generate!" id="1_c"/>
</form>
</div>
<script>
$('#1_c').click(function(){
var text=$('textarea').val(),
type=$('input[name="type"]').is(':checked').val();
$.post('generate2.php', { text: text, type: type },
function(data) {
$("#content").html(data);
});
});
function reset(){
history.go('0');
}
</script>
</body>
Run Code Online (Sandbox Code Playgroud)
您遇到的问题是is选择器返回一个布尔值而不是匹配的元素.这意味着你最终调用val()上true / false,而不是单选按钮.
请尝试使用以下选择器
type=$('input[name="type"]:checked').val()
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/fP2P4/1/
| 归档时间: |
|
| 查看次数: |
860 次 |
| 最近记录: |