我有一个BuddyPress个人资料表单,目前在不同的成员类型之间共享字段,因此可以强制它们是强制性的。
我希望字段A(突出显示)能够更改用B突出显示的标签/图例,这样一旦用户选择了一个值,我就可以显示相关文本(需要为每个下拉值更改)< / p>
在用户选择了成员类型后,我已经有了PHP代码来控制这些标签,我只需要知道他们之前要做什么,然后再保存这些值。
第一个字段是field_6。
第二个是field_19 第三个是field_505 第四个是field_56
我相信一段javascript代码会使这项工作正常,但不是我强大的西装编程语言。
更新:
此后需求发生了变化,但我找到了解决方案,并与其他人共享使用。这还包括更改输入框上的标签。 如果有人有更好的方式来编写这段代码,那么很乐意接受建议
$(document).ready(function(){
$('#field_6').change(
function () {
var membertype = $('option:selected', this).text();
var cphmtp = document.getElementsByClassName("field_56");
var cphmtp_label = cphmtp[0].getElementsByTagName("label");
var age_ranges = document.getElementsByClassName("field_505");
var age_ranges_legend = age_ranges[0].getElementsByTagName("legend");
var age_ranges_option = document.getElementById("field_1120_0");
if (membertype == 'Babysitter or Nanny') {
$("#field_56").val("");
cphmtp_label[0].innerHTML = "Cost Per Hour (required)";
$('.field_56').show();
age_ranges_legend[0].innerHTML = "Age ranges of children able to sit (required)";
$("label[for='field_1120_0']").html('<input type="checkbox" name="field_505[]" id="field_1121_0" value="I don\'t mind">I don\'t mind');
$('.field_505').show();
} else if (membertype == 'Parent') {
$("#field_56").val("1");
$('.field_56').hide();
age_ranges_legend[0].innerHTML = "Age that my children are (required)";
$("label[for='field_1120_0']").html('<input type="checkbox" name="field_505[]" id="field_1121_0" value="I don\'t mind">I\'d rather not say');
$('.field_505').show();
} else {
$('.field_56').hide();
$('.field_505').hide();
}
});
});