javascript - 复选框未显示为已选中

标签 javascript jquery

我在 html 中有以下代码

 <div class="ft_ck_area" id="fromFirstHalf">
                        <div class="cb">
                            <input type="radio" class="css-checkbox" id="fromFirstHalfChk" name="fromChkValue" value="1"/>
                            <label for="fromFirstHalfChk" name="checkbox1_lbl" class="css-label">First Half</label>
                        </div>

                    </div>
                    <div class="ft_ck_area"  id="fromSecondHalf">
                        <div class="cb">
                            <input type="radio" class="css-checkbox" id="fromSecondHalfChk" name="fromChkValue" value="2"/>
                            <label for="fromSecondHalfChk" name="checkbox1_lbl" class="css-label">Second Half</label>
                        </div>
                    </div>
                    <div class="ft_ck_area" id="fromFullDay">
                        <div class="cb">
                            <input type="radio" class="css-checkbox" id="fromFullDayChk" name="fromChkValue" value="0"/>
                            <label for="fromFullDayChk" name="checkbox1_lbl" class="css-label">Full Day</label>
                        </div>
                    </div>



<div class="ft_ck_area" id="toFirstHalf">
                        <div class="cb">
                            <input type="radio" class="css-checkbox" id="toFirstHalfChk" name="toChkValue"  value="1"/>
                            <label for="toFirstHalfChk" name="checkbox1_lbl" class="css-label">First Half</label>
                        </div>
                    </div>
                    <div class="ft_ck_area" id="toSecondHalf">
                        <div class="cb">
                            <input type="radio" class="css-checkbox" id="toSecondHalfChk"  name="toChkValue" value="2"/>
                            <label for="toSecondHalfChk" name="checkbox1_lbl" class="css-label">Second Half</label>
                        </div>
                    </div>
                    <div class="ft_ck_area" id="toFullDay">
                        <div class="cb">
                            <input type="radio" class="css-checkbox" id="toFullDayChk" name="toChkValue" value="0"/>
                            <label for="toFullDayChk" name="checkbox1_lbl" class="css-label">Full Day</label>
                        </div>
                    </div>

在javascript中,我在从复选框中删除选中的属性后执行以下代码,如果我在html中看到它但它没有显示为选中,则它会附加在html中,

       if (dateDiff == 0) {
                var fromCheckedId=$('input[name=fromChkValue]:checked').attr("id");
                $("#"+fromCheckedId).removeAttr("checked");
                console.log("1");
                console.log("#"+fromCheckedId);
                var toCheckedId=$('input[name=toChkValue]:checked').attr("id");
                $("#"+toCheckedId).removeAttr("checked");
                console.log("2");
                console.log("#"+toCheckedId);
                $("#fromFullDayChk").attr("checked","checked");
                }
                else
                {
                    var fromCheckedId=$('input[name=fromChkValue]:checked').attr("id");
                $("#"+fromCheckedId).removeAttr("checked");
                console.log("3");
                console.log("#"+fromCheckedId);
                var toCheckedId=$('input[name=toChkValue]:checked').attr("id");
                $("#"+toCheckedId).removeAttr("checked");
                console.log("4");
                console.log("#"+toCheckedId);
                $("#fromFullDayChk").attr("checked","checked");
                $("#toFullDayChk").attr("checked","checked");
                }

这段代码有什么问题?删除属性后,我再次添加了属性

最佳答案

使用这个

  $("#fromFullDayChk").attr("checked",true);

而不是

$("#fromFullDayChk").attr("checked","checked");

如果您使用的是最新版本的 Jquery,请使用 prop,如下所示:

$("#fromFullDayChk").prop("checked",true);

关于javascript - 复选框未显示为已选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24077052/

相关文章:

jquery - 使用 jQuery 选择器进行复杂元素选择

javascript - 使用 jQuery : Using JSON or just let jQuery convert it to query string? 将 Javascript 数组发送到 PHP 脚本时哪个更好

javascript - $ ("<div/>").text(value).html 不是函数错误

javascript - Node.JS:从服务器端内存提供文件与服务器端文件

Javascript Masonry 不适用于创建的元素

javascript - 有没有办法通过多个数组来增加 JSON 数组键值,而不是从每个数组开始?

javascript - selenium js单击元素直到文本不相等

javascript - BackboneJS 添加和删除单击元素的类

javascript - 如何设置某些列不可点击

javascript - 从 ng-repeat oddity 内部的 ng-click 访问事件对象