我看过很多帖子,但我找不到任何可行的方法。我需要在他们的个人资料中显示用户签名的预览,并且选项不显示他们的电话号码和/或电子邮件地址,因此每个都有一个复选框。
这是我的HTML复选框:
<div class="checkbox">
<label>
<input type="checkbox" name="showInSignature[]" id="showPhoneId" value="showPhone" class="checkbox style-0" checked="checked">
<span>Teléfono</span>
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="showInSignature[]" id="showEmailId" value="showEmail" class="checkbox style-0" checked="checked">
<span>Dirección de e-mail</span>
</label>
</div>
这里是jQuery:
var fname = $('#personalOptionsForm').find('[name="fname"]').val(),
lname = $('#personalOptionsForm').find('[name="lname"]').val(),
cellphone = $('#personalOptionsForm').find('[name="cellphone"]').val(),
email = $('#personalOptionsForm').find('[name="email"]').val(),
if ($('#showPhoneId').is(':checked') = true) {
showPhone = 1;
} else {
showPhone = 0;
},
// showPhone = (($('input[name="showInSignature[]"]')['showPhone'].checked = true) ? 1 : 0),
// showEmail = (($('input[name="showInSignature[]"]')['showEmail'].checked = true) ? 1 : 0),
str = "<strong>" + fname + " " + lname + "</strong><br /><br />" + ((showPhone = 1) ? 'Teléfono: ' + cellphone + '<br />' : '') + "E-mail: <a href=\"mailto:" + email + "\">" + email + "</a>",
html = $.parseHTML( str );
$('#signaturePreview').append(html);
如果我注释掉IF(因为我已经注释掉了我做过的其他尝试)和str var中的三元运算符它可以工作但是在尝试使用动态值时会显示NOTHING(如电话复选框)。那里只有两种方法,但我已尝试过更多方法。他们都没有工作。没有附加任何内容。
我该怎么办?提前谢谢!
答案 0 :(得分:2)
showPhone = $('#showPhoneId')。is(':checked');
肯定这就是你所需要的一切。它返回一个布尔值答案 1 :(得分:1)
$(document).ready(function() {
alert('Is Checked: ' + $('#showPhoneId')[0].checked);
console.log(typeof $('#showPhoneId')[0].checked);
console.log($('#showPhoneId')[0].checked === true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="checkbox">
<label>
<input type="checkbox" name="showInSignature[]" id="showPhoneId" value="showPhone" class="checkbox style-0" checked="checked">
<span>Teléfono</span>
</label>
</div>
答案 2 :(得分:0)
在您的代码中,您使用的是赋值运算符&#34; =&#34;这意味着
a = b(b的值分配给a),
在您的情况下,您尝试将 true 分配给 $(&#39;#showPhoneId&#39;)。is(&#39;:checked&#39;)
麻烦&#34; ==&#34;代替
setTimeout(() => $('#selector').focus(), 100);