选中单选按钮时追加
appending when radio button is checked
我有一些单选按钮。
<div class="user">
<input type="radio" class="user-radio" name="user" value="user"/>
<p>BLABLA</p>
</div>
<div class="user">
<input type="radio" class="user-radio" name="user" value="user"/>
<p>BLABLA</p>
</div>
<div class="user">
<input type="radio" class="user-radio" name="user" value="user"/>
<p>BLABLA</p>
</div>
我要做的是,当选中div中的单选按钮时,在<div class="user">
中添加一个<a><a/>
。当我选择另一个单选按钮时,我想删除最后插入的<a><a/>
,并将一个新的插入到新选择的单选按钮的父分区。
我试过这样的东西,但我无法让它发挥作用:
<script>
$('.user').click(function () {
if (!$(".user-radio").is(':checked')) {
$(this).append('<a></a>');
}
})
</script>
参见演示
$('.user-radio').change(function () {
$('.user a').remove();
$('.user-radio:checked').parent().append('<a>hello</a>');
});
我一直喜欢show
和hide
元素,而不是append
和remove
元素
并使用change
html
<div class="user">
<input type="radio" class="user-radio" name="user" value="user"/>
<p>BLABLA</p>
<a href="javascript:void(0)">blabla</a>
</div>
js
$('.user').change(function () {
$("a").hide();
$("a", this).show();
});
css
.user a {
display: none;
}
演示
<script>
$('.user-radio').click(function () {
$('.user > a:last-child').remove()
if ($(this).is(':checked')) {
$(this).parent().append('<a>test</a>');
}
});
</script>
http://jsfiddle.net/s7eRz/
这里我已经完成了完整的bin。演示链接如下:
演示:http://codebins.com/bin/4ldqp93
HTML:
<div class="user">
<input type="radio" class="user-radio" name="user" value="user" />
<p>
BLABLA
</p>
</div>
<div class="user">
<input type="radio" class="user-radio" name="user" value="user"/>
<p>
BLABLA
</p>
</div>
<div class="user">
<input type="radio" class="user-radio" name="user" value="user"/>
<p>
BLABLA
</p>
</div>
CSS:
.user p{
display:inline-block;
marign:0px;
padding:0px;
}
input{
padding:0px;
}
.user{
border:1px solid #f53322;
color:#333;
background:#a3f7a2;
}
.user a{
color:#112288;
font-weight:bold;
display:block;
padding:5px;
}
JQuery:
$(function() {
$('.user-radio').change(function() {
if ($(this).is(':checked')) {
$('.user a').remove();
$('.user-radio:checked').parent(".user").append("<a href='javascript:void(0);'>Add New Link</a>");
//Another Alternate way is
/* $('.user-radio:checked').closest(".user").append("<a href='javascript:void(0);'>Add New Link</a>"); */
}
});
});
演示:http://codebins.com/bin/4ldqp93
删除运算符,并将第一个选择器从".user"更改为".user radio",然后将<a>link</a>
附加到$(this)元素的父元素:
$('.user-radio').click(function () {
if ($(this).is(':checked')) {
$(".user a").remove();
$(this).parent().append('<a>dwd</a>');
}
});
相关文章:
- 多个单选按钮组相互干扰
- 是否可以禁用jquery中的单个单选按钮
- Javascript:无法获取变量中的单选按钮值
- 通过ajax到php文件获取单选按钮值
- 互斥单选按钮和相应的输入字段
- 用于选择MVC3中单选按钮值的JavaScript
- 如何获取单选按钮的多个实例的选定单选按钮值
- react testUtils模拟点击单选按钮而不触发onchange
- 当选择组中的单选按钮时,jQuery addClass
- Angularjs无法将单选按钮与嵌套范围内的模型绑定
- 客户端单选按钮列表验证
- Javascript:图像与单选按钮的值不匹配
- 如何在Javascript中将单选按钮值保存到cookie中
- 单击时如何更改单选按钮的CSS
- 使用按钮和单选按钮提交表单,但始终使用相同的值
- 注入Javascript以选择具有指定值的所有单选按钮
- 复选框/单选按钮-添加所选项目的总价
- 如何使用单选按钮设置cookie值
- Html按钮点击事件未触发单选按钮
- 选中单选按钮时追加