我正在查询数据库,以检查是否存在/已使用电子邮件。如果已使用电子邮件,则需要将单选按钮更改为另一个选项
我从未使用过基于数据库查询电子邮件验证的切换事件,因此到目前为止,jquery设置返回警报。
<!--/* shipment opt-in */-->
<div class="row--flex">
<div class="form-group" data-sly-test="${!properties.defaultRefill}">
<input type="radio" id="inServiceKit_shipmentOptInSupportingMaterials" name="shipmentOptIn" class="form-control" checked="checked" required>
<label class="form_label" for="inServiceKit_shipmentOptInSupportingMaterials">
Please send me the COPD In-Service Kit and additional Supporting materials
</label>
</div>
<div class="form-group" data-sly-test="${properties.defaultRefill}">
<input type="radio" id="inServiceKit_shipmentOptInRefillOnly" name="shipmentOptIn" class="form-control" checked="checked" required>
<label class="form_label" for="inServiceKit_shipmentOptInRefillOnly">
Please send me the COPD In-Service Refill Kit
</label>
</div>
</div>
<!--/* end shipment opt-in */-->
$('#inServiceKit_email').on('change', function() {
//ajax request
$.ajax({
url: 'endpoint',
data: {
'email': $('#inServiceKit_email').val()
},
dataType: 'json',
success: function(data) {
if (data == true) {
alert('email is in database')
} else {
alert('email is valid')
}
},
error: function(data) {
//error
}
});
});
该表格现在显示“请向我发送COPD维修套件和其他支持材料”标签,因此,如果用户电子邮件位于数据库中,我希望将其更改为其他标签,然后选中“请向我发送COPD服务补充套件”
答案 0 :(得分:1)
如评论中所述:
success: function(data) {
if (data == true) {
$("#inServiceKit_shipmentOptInSupportingMaterials").prop("checked", true);
// This false may not be needed since they are in the same group
$("inServiceKit_shipmentOptInRefillOnly").prop("checked", false);
} else {
$("inServiceKit_shipmentOptInRefillOnly").prop("checked", true);
// This false may not be needed since they are in the same group
$("#inServiceKit_shipmentOptInSupportingMaterials").prop("checked", true);
}
}
如果jQuery的版本低于1.6,请使用:
success: function(data) {
if (data == true) {
$("#inServiceKit_shipmentOptInSupportingMaterials").attr('checked', 'checked');
} else {
$("inServiceKit_shipmentOptInRefillOnly").attr('checked', 'checked');
}
}
要检查选择了哪个单选按钮,可以使用:
$('input[name=shipmentOptIn]:checked').val()
在所有输入中都使用required
可以清楚甚至鼓励,但如果它们具有相同的名称,则只需要其中一个具有required
关键字即可。除非它们是动态生成的。