我有一个带有隐藏输入字段的web表单,如下所示:
<input id="requiredFields" name="requiredFields" type="hidden" value="firstname,lastname,email,phone">
我想使用jQuery根据特定条件添加和移除",location
“,如下所示:
$('input[name="locationstatus"]:radio').on("change", function() {
if ($('input[name="locationstatus"]:radio:checked').val() == 'Yes') {
/* need syntax to append text ',location' to #requiredFields string */
}
else {
/* need syntax to remove text ',location' from #requiredFields string */
}
});
谢谢
发布于 2013-05-09 02:15:02
使用jQuery的.val()
更新requiredFields
的值
$('input[name="locationstatus"]:radio').on("change", function() {
if ($('input[name="locationstatus"]:radio:checked').val() == 'Yes') {
$('#requiredFields').val($('#requiredFields').val() + ',location');
}
else {
$('#requiredFields').val($('#requiredFields').val().replace(',location',''));
}
});
发布于 2013-05-09 02:16:11
与尝试附加/删除字符串的一部分相比,假设没有其他字符串,那么替换整个字符串可能会更容易、更快,在这种情况下,我可以提供一个更健壮的解决方案。
$('input[name="locationstatus"]:radio').on("change", function() {
if ($('input[name="locationstatus"]:radio:checked').val() == 'Yes') {
/* need syntax to append ',location' to #requiredFields */
$('#requiredFields').val('firstname,lastname,email,phone,location');
}
else {
/* need syntax to remove ',location' from #requiredFields */
$('#requiredFields').val('firstname,lastname,email,phone');
}
});
发布于 2013-05-09 02:17:30
如果想要将位置附加到末尾,可以使用.val()
方法。它还能够设置元素的值。
$('input[name="locationstatus"]:radio').on("change", function() {
if ($('input[name="locationstatus"]:radio:checked').val() == 'Yes') {
var prev = $("#requiredFields").val();
$("#requiredFields").val(prev + ',location');
}
else {
var newText = $("#requiredFields").val().replace(',location', '');
$("#requiredFields").val(newText);
}
});
https://stackoverflow.com/questions/16447420
复制相似问题