2017-06-04 107 views
0

我有一个名为'其他/查询'的单选按钮,当它被选中时,它下面的textarea会变成需要使用required属性。如何取消选中单选按钮时仅使用Javascript从元素中删除必需的属性?

我想在'Other/Query'单选按钮未选中时只使用JavaScript来从textarea元素中删除所需的属性。

当单选按钮未选中时,是否可以删除所需的属性?

我目前正在使用下面的JS添加所需的属性,但未选中时不删除它。

var gquery = document.getElementById("genquery"); 
var comment = document.getElementById("comments"); 
    gquery.addEventListener('change', function(){ 
    comment.required = this.checked; 
}); 
if(gquery.required = false){ 
    comment.required = false; 
}; 

任何帮助,非常感谢。

+0

你的意思是这样的吗? https://jsfiddle.net/alfrcr/wrqdL6jh/ –

+0

@AlfredCrosby,实际上你不需要两个'comment.classList.add' /'.remove'行,只需将CSS规则改为'textarea [required =“需要“]'[** jsFiddle **](https://jsfiddle.net/wrqdL6jh/2/) –

+0

是啊,看起来更好,更清洁@米创意 –

回答

0

您可以使用此

gquery.addEventListener('click', function(event){ 
    if (this.checked) { 
    comment.classList.add('required') 
    comment.setAttribute('required', 'required') 
    } 
}); 

genquerytwo.addEventListener('click', function(event){ 
    if(this.checked) { 
    comment.classList.remove('required') 
    comment.removeAttribute('required') 
    } 
}); 

看到它在行动 - >Fiddle

更新小提琴 - >Updated Fiddle(v2)

+0

感谢您的回复,但不成功。 我正在使用单选按钮,而不是复选框。我可以将必需的属性添加到textarea元素,但是当我选择另一个单选按钮时,我仍然无法将其删除。 这样做的目的是允许用户选择另一个单选按钮,如果他们错误地选择了其他单选按钮。为他们提供不添加必需评论的选项。 –

+0

@ GrahamO'Mahony我已经更新了答案。 –

+0

谢谢。我很感谢您的帮助,但它不适用于多个单选按钮:我总共有6个。只有一个单选按钮应该添加必需的属性。如果我点击其他5个单选按钮中的任何一个,则应该删除该属性。我为一个类名声明了一个变量,但它不成功。我还将所需的属性硬编码到单选按钮的每个输入标签。你认为这是问题的一部分吗? –

相关问题