当选中复选框时,我试图更改文本框的文本,但在控制台上收到此错误
SyntaxError: expected expression, got '.'
这可能是非常简单的事情,但我无法弄清楚
HTML
<input type="checkbox" name="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:pbsiDupeMatch:chkwebsiteDomain" id="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:pbsiDupeMatch:chkwebsiteDomain">
<input id="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:icConvMatchFieldInLeadForAccount" type="text" value="Company" size="20" name="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:icConvMatchFieldInLeadForAccount" maxlength="80">
Javascript
$(document).ready(function () {
$('#pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:pbsiDupeMatch:chkwebsiteDomain').change(function() {
if ('#pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:pbsiDupeMatch:chkwebsiteDomain').is(':checked')) {
$('#pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:icConvMatchFieldInLead').val('Website_Domain__c');
}
else{
$('#pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:icConvMatchFieldInLead').val('Company');
}
});
});
最佳答案
除了 if
条件中缺少 $(
之外,您在 id
中使用的字符(冒号)不属于对于 CSS 中的简单 id 选择器有效(例如,#xxx
类型); details 。 jQuery 可能 让你摆脱它(尽管我会相当惊讶),但它是无效的,因此可能会在任何点版本中更改。
您可以改用属性选择器:
$("[id=pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:pbsiDupeMatch:chkwebsiteDomain]")...
...或者转义所有这些冒号。
此外,您还可以在 change
处理程序中使用 this.checked
以及条件运算符,而不是 if/else
:
$(document).ready(function () {
$('[id="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:pbsiDupeMatch:chkwebsiteDomain"]').change(function() {
$('[id="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:icConvMatchFieldInLead"]').val(
this.checked ? 'Website_Domain__c' : 'Company'
);
});
});
实时复制:
$(document).ready(function () {
$('[id="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:pbsiDupeMatch:chkwebsiteDomain"]').change(function() {
$('[id="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:icConvMatchFieldInLead"]').val(
this.checked ? 'Website_Domain__c' : 'Company'
);
});
});
<label>
<input type="checkbox" id="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:pbsiDupeMatch:chkwebsiteDomain"> The checkbox
</label>
<br>
The input: <input type="text" id="pgManageCS:frmManageCS:pbSettings:pbsDupeMatch:icConvMatchFieldInLead">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
关于javascript - 语法错误 : expected expression, 得到 '.' Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28694386/