Jquery 删除隐藏div的值

Jquery 删除隐藏div的值,jquery,Jquery,我有隐藏的div,这些div根据单击的单选按钮显示表单元素。我看到了很多这样做的方法,我实现了其中的一种,它确实有效。问题是如果有人改变主意,点击一个单选按钮,然后点击另一个。与第一个单击按钮相关联的DIV中填写的内容现在被隐藏,但该值仍然存在,并随表单一起提交。我需要一种方法来清空/删除他们最初填写的表单元素值,如果有人最终单击了另一个单选按钮 我尝试将这一行添加到我的工作代码中,但它似乎没有任何作用: $("#dvCanDentalDate, #dvCanDentalDep, #dvDHMO

我有隐藏的div,这些div根据单击的单选按钮显示表单元素。我看到了很多这样做的方法,我实现了其中的一种,它确实有效。问题是如果有人改变主意,点击一个单选按钮,然后点击另一个。与第一个单击按钮相关联的DIV中填写的内容现在被隐藏,但该值仍然存在,并随表单一起提交。我需要一种方法来清空/删除他们最初填写的表单元素值,如果有人最终单击了另一个单选按钮

我尝试将这一行添加到我的工作代码中,但它似乎没有任何作用:

$("#dvCanDentalDate, #dvCanDentalDep, #dvDHMO").val('')
下面是完整的脚本块。除了上面我在两个地方添加的代码行之外,其余的都可以正常工作

$('input[name=dental]').click(function () {
    if (this.id == "dental1") {
        $("#dvChooseDental").show('slow');
        $("#dvDentalWaive, #dvCanDentalDate, #dvCanDentalDep, #dvDHMO").hide('slow');
    } else if (this.id == "dental2") {
        $("#dvDentalWaive").show('slow');
        $("#dvChooseDental, #dvCanDentalDate, #dvCanDentalDep, #dvDHMO").hide('slow');
        $("#dvCanDentalDate, #dvCanDentalDep, #dvDHMO").val('')
    } else if (this.id == "dental3") {
        $("#dvDentalWaive").show('slow');
        $("#dvChooseDental, #dvCanDentalDate, #dvCanDentalDep, #dvDHMO").hide('slow');
        $("#dvCanDentalDate, #dvCanDentalDep, #dvDHMO").val('')
    } else if (this.id == "dental4") {
        $("#dvCanDentalDate, #dvDentalWaive").show('slow');
        $("#dvChooseDental, #dvCanDentalDep, #dvDHMO").hide('slow');
    } else if (this.id == "dental5") {
        $("#dvCanDentalDate, #dvCanDentalDep, #dvDentalWaive").show('slow');
        $("#dvChooseDental, #dvDHMO").hide('slow');     
    } else {
        $("#dvChooseDental, #dvCanDentalDate, #dvCanDentalDep, #dvDentalWaive, #dvDHMO").hide('slow');
    }
})
使用.html清空div

$dvCanDentalDate、dvCanDentalDep、dvDHMO.html

$dvCanDentalDate、dvCanDentalDep、dvDHMO.empty

使用.html清空div

$dvCanDentalDate、dvCanDentalDep、dvDHMO.html


$dvCanDentalDate、dvCanDentalDep、dvDHMO.empty

除了@Krishna的精细解决方案外,另一个选项是禁用元素;禁用的表单元素不会随表单一起提交。比如说:

$("#dvChooseDental").show('slow').find(':input').prop('disabled', false);
$("#dvDentalWaive, #dvCanDentalDate, #dvCanDentalDep, #dvDHMO").hide('slow').find(':input').prop('disabled', true);

这将有一个额外的好处,即在之前清空HTML之后不必重新创建HTML。

除了@Krishna的优秀解决方案之外,另一个选择是禁用元素;禁用的表单元素不会随表单一起提交。比如说:

$("#dvChooseDental").show('slow').find(':input').prop('disabled', false);
$("#dvDentalWaive, #dvCanDentalDate, #dvCanDentalDep, #dvDHMO").hide('slow').find(':input').prop('disabled', true);

这将有一个额外的好处,即在之前清空HTML后不必重新创建HTML。

详细说明:输入元素有值一些异常,但div和其他标记没有值。empty可能是一个更安全的解决方案。请参阅:事件处理程序等。详细说明:输入元素有值一些异常,但是div和其他标记标记没有值。empty可能是一个更安全的解决方案,例如:事件处理程序等。谢谢。我还没有试过@Krishna的答案,但我试过迈克的。我必须使它尽可能防弹。事情是这样的。我填写与第一个单选按钮相关的内容。然后,我选择另一个,这将禁用第一个响应。然而,如果我的大脑如此分散,以至于我想返回到我的第一个响应,或者任何其他单选按钮,它仍然是禁用的。也许这太过分了,但是如果有人点击了第三次或更多次,我该如何再次关闭残疾人?谢谢。我还没有试过@Krishna的答案,但我试过迈克的。我必须使它尽可能防弹。事情是这样的。我填写与第一个单选按钮相关的内容。然后,我选择另一个,这将禁用第一个响应。然而,如果我的大脑如此分散,以至于我想返回到我的第一个响应,或者任何其他单选按钮,它仍然是禁用的。也许这太过分了,但是如果有人点击了第三次或更多次,我该如何再次关闭残疾人?