我制作了一个jQuery脚本,附加/添加到输入字段的现有值。我这样做是通过检查复选框是否被选中,如果是,添加文本,如果它再次未选中,我想删除该文本 - 不清除整个值,只需删除那个价值的一小部分 - 我试图通过用任何东西替换附加值来做到这一点,但它似乎不起作用。
这是我的剧本;
$(document).ready(
function(){
$('.checkbox').change(function(){
if ($(this).is(':checked')) {
if($('#output').val().indexOf('?') >= 0) {
var input = $( "#output" );
$('#output').val($('#output').val() + '&avatar');
} else {
$('#output').val($('#output').val() + '?avatar');
}
} else {
$('#output').val(value.replace('?avatar', ''));
$('#output').val(value.replace('&avatar', ''));
}
});
});
我在这里不是最好的jQuery - 如果必须的话,我真的只是这样做,所以我可能会错过这里明显的。
这是一个包含我的HTML的jsFiddle。
我已经在这里挣扎了一段时间,任何帮助表示感谢 - 提前谢谢你!
答案 0 :(得分:3)
您的小提琴有一些错误 - 您的div容器也有类复选框,因此导致双击。
还修复了其他一些部分,没有定义任何称为值的东西。
https://jsfiddle.net/vws4hpez/1/
<script>
* HTML:
$(document).ready(
function() {
$('.checkbox').change(function() {
if ($(this).is(':checked')) {
console.log('checked');
if ($('#output').val().indexOf('?') >= 0) {
var input = $("#output");
$('#output').val($('#output').val() + '&avatar');
} else {
$('#output').val($('#output').val() + '?avatar');
}
} else {
console.log('not');
$('#output').val($('#output').val().replace('?avatar', ''));
$('#output').val($('#output').val().replace('&avatar', ''));
}
});
});