Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击单选按钮清除所有选项选择条目_Javascript_Jquery_Html_Jquery Mobile - Fatal编程技术网

Javascript 单击单选按钮清除所有选项选择条目

Javascript 单击单选按钮清除所有选项选择条目,javascript,jquery,html,jquery-mobile,Javascript,Jquery,Html,Jquery Mobile,我一整天都在试图弄明白这一点,这似乎很简单,但我如何才能清除一组选择选项下拉列表中的所有选择?我想让它们回到第一次加载div时的默认状态。我无法使用.reset,因为表单中还有其他信息需要收集,但我需要允许用户改变主意,而不必重新填写表单 这个问题告诉你我不需要什么 这个问题很难回答,但我一直没能让它起作用 这似乎意味着它可以用.empty完成,但这也不起作用 这个,我已经试过了,所有的都看下面的代码,没有一个有效。我显然错过了什么 这里有一个问题的答案 如何看待小提琴中的问题: 在修复状态下,

我一整天都在试图弄明白这一点,这似乎很简单,但我如何才能清除一组选择选项下拉列表中的所有选择?我想让它们回到第一次加载div时的默认状态。我无法使用.reset,因为表单中还有其他信息需要收集,但我需要允许用户改变主意,而不必重新填写表单

这个问题告诉你我不需要什么

这个问题很难回答,但我一直没能让它起作用

这似乎意味着它可以用.empty完成,但这也不起作用

这个,我已经试过了,所有的都看下面的代码,没有一个有效。我显然错过了什么

这里有一个问题的答案

如何看待小提琴中的问题:

在修复状态下,单击“已修复”;将显示两个新输入,一组单选按钮,然后为每个按钮选择选项下拉列表。在“类别”下,选择“零件质量”,然后从下拉列表中选择任何项目。该选项现在应该显示在下拉列表中。现在单击任何一个其他类别,然后返回零件质量。您刚才所做的相同选择仍将显示,而不是默认的“选择零件质量原因”,这正是我想要的

我的尝试主要集中在用于概念验证的Part Quality(零件质量)单选按钮上,但生产代码需要清除表单中所有选项选择中的所有条目(Reporting Department(报告部门)下拉列表除外)。最好我可以使用带有$this构造的泛型选择,但这不是必需的。大概是这样的:

$("select option:selected").each(function () {
    $(this).val('');  //doesn't work
});
要求:

当用户选择不同的单选按钮类别时,所有选项选择下拉列表将重置为其默认状态。这样,当用户做出最终选择&点击Submit时,就不会有额外的条目。当他们更改类别选择时,基础代码必须保留Reporting Department下拉选项

然后,我可以收集他们的所有选择,并将其放入JSON字符串中,以便AJAX调用我的代码,然后将数据插入MySQL数据库

我不管答案是使用jQuery还是纯JavaScript,我都可以很高兴地使用

以下是一些尚未解决问题的尝试:

    $("#formEvent_repair input[type='radio']").on('change', function () {
    //$("#select_part_quality_repair option:selected").attr("selected", false);

    //$("#select_part_quality_repair").find('[selected]').removeAttr("selected");
    //$('#select_part_quality_repair').attr('selectedIndex', '-1'); 
    //$('#select_part_quality_repair').val(null);

    $("#select_part_quality_repair").find('option:first').attr('selected','selected');

    //$("select option:selected").val([]);
    //$("select option:selected").html('');
    //$("select_part_quality_repair").html('');
    $("select_part_quality_repair").append().html('');
    $("select option:selected").each(function () {
        console.log("Emptying select options");
        $("#select_part_quality_repair").find('option:first').attr('selected','selected');
        //#select_part_quality_repair-button > span
        //$("#select_part_quality_repair").prop('selectedIndex', -1);
        //$("#select_part_quality_repair").find('option').attr("selected", false);
        //$("#select_part_quality_repair option").attr("selected", false);
        $("#select_part_quality_repair option:selected").attr("selected", false);
        console.log(this);
        $(this).val([]);
    });

您可以按如下方式清除下拉选择:

$("select option:selected").each(function () {
    $(this).val('');  //doesn't work
});
$select_part_quality_repair.val; 这将清除所选内容而不删除成员。 此外,代码中的此行格式不正确:

$select\u part\u quality\u repair.append.html

您忘了按照JQuery的要求,将元素ID放在元素ID之前。这句话无论如何也帮不了你,所以你甚至不应该为它费心

干杯


-=Cameron

因为您使用的是jquery mobile,所以需要向更改的元素发出刷新命令

$('#select_part_quality_repair').val('').selectmenu('refresh');
这将取消选择任何选项,然后刷新布局以显示更改

对于在“代码使用”中设置的单选按钮

$(<radio-button-selector>).checkboxradio("refresh");

取消选中所有单选按钮

$(".clear").click(function(){
    $('input:radio').each(function () {

        $(this).removeAttr("checked");

    });
});
编辑2:

取消选择所有选项

$(".clear").click(function(){
    $('select').each(function () {

        $(this).removeAttr("selected");

    });
});

快速看一看,我想说您应该为selects处理onchange事件,当它被触发时,您可以这样做:$'select'.notthis.val。您可能已经有了这个想法。摆弄代码的相关部分会很有用,例如,只需一个带有清晰按钮的选择菜单。JSFIDLE链接在问题中大约有10-12行。如果添加一个数据属性,将收音机链接到其相对选择,则可以执行我在第一条注释中提到的操作。这也会减少你的代码。@delliottg我的意思是只使用一个/2个选择创建一个小提琴,减少你的代码以更好地关注选择刷新问题,删除所有点击这个然后那个,而不是这个部分。谢谢,已经尝试过了,但不起作用。你的想法完全正确,我没有指出我现在正在使用添加到标签的jQuery Mobile,这需要刷新Gaby和BeNdeRr的“查看答案/评论”。谢谢,但我正在尝试清除所有选项选择菜单,而不是单选按钮。抱歉,编辑2已修复。仍然不起作用,请查看上面接受的答案。感谢您的帮助,我非常感谢。