- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 HTML 中有一个字段集,它基本上代表 5 星级评级系统,如下所示:
<fieldset class="rating" id="ratingSystem">
<input type="radio" id="star5" name="rating" value="5" /><label class="full" for="star5" title="Awesome - 5 stars"></label>
<input type="radio" id="star4" name="rating" value="4" /><label class="full" for="star4" title="Pretty good - 4 stars"></label>
<input type="radio" id="star3" name="rating" value="3" /><label class="full" for="star3" title="Meh - 3 stars"></label>
<input type="radio" id="star2" name="rating" value="2" /><label class="full" for="star2" title="Kinda bad - 2 stars"></label>
<input type="radio" id="star1" name="rating" value="1" /><label class="full" for="star1" title="Sucks big time - 1 star"></label>
</fieldset>
我已经定义了一个 onclick 事件,它定义了用户何时单击某些星级(单选按钮),然后我只是出于测试目的显示单击的值,但我总是显示双值而不是显示的值一个...
例如,如果我单击 5,我会显示在控制台中:
undefined
5
第二次点击 4 时,我得到了值:
5
4
我使用的代码是:
$('#ratingSystem').click(function () {
console.log($('input[name=rating]:checked').val());
});
我在这里做错了什么?
编辑,这些是我用来将单选按钮变成星星的 CSS 类,使其看起来像星级评级系统:
fieldset, label { margin: 0; padding: 0; }
body{ margin: 20px; }
h1 { font-size: 1.5em; margin: 10px; }
/****** Style Star Rating Widget *****/
.rating {
border: none;
float: left;
}
.rating > input { display: none; }
.rating > label:before {
margin: 5px;
font-size: 1.25em;
font-family: FontAwesome;
display: inline-block;
content: "\f005";
}
.rating > .half:before {
content: "\f089";
position: absolute;
}
.rating > label {
color: #ddd;
float: right;
}
/***** CSS Magic to Highlight Stars on Hover *****/
.rating > input:checked ~ label, /* show gold star when clicked */
.rating:not(:checked) > label:hover, /* hover current star */
.rating:not(:checked) > label:hover ~ label { color: #FFD700; } /* hover previous stars in list */
.rating > input:checked + label:hover, /* hover current star when changing rating */
.rating > input:checked ~ label:hover,
.rating > label:hover ~ input:checked ~ label, /* lighten current selection */
.rating > input:checked ~ label:hover ~ label { color: #FFED85; }
这些类中的任何一个可能是问题的根源吗?
最佳答案
尝试将事件附加到每个 input
元素:
$('#ratingSystem input').click(function() {
console.log($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<fieldset class="rating" id="ratingSystem">
<input type="radio" id="star5" name="rating" value="5" />
<label class="full" for="star5" title="Awesome - 5 stars"></label>
<input type="radio" id="star4" name="rating" value="4" />
<label class="full" for="star4" title="Pretty good - 4 stars"></label>
<input type="radio" id="star3" name="rating" value="3" />
<label class="full" for="star3" title="Meh - 3 stars"></label>
<input type="radio" id="star2" name="rating" value="2" />
<label class="full" for="star2" title="Kinda bad - 2 stars"></label>
<input type="radio" id="star1" name="rating" value="1" />
<label class="full" for="star1" title="Sucks big time - 1 star"></label>
</fieldset>
关于javascript - Fieldset onclick 获取单选按钮的点击值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41271498/
我在字段集显示和隐藏功能方面遇到问题。在我的应用程序左侧,我有一个带有更改监听器的组合框。在右侧,我有几个不同的文本字段,它们根据组合框中选定的值显示和隐藏。每个隐藏和显示函数都可以使用字段集,但如果
我有一个 ExtJS 项目,其中有一个 FieldSet,我需要动态地从中删除项目并替换为不同的项目。 但是,当我删除项目然后添加新项目时,FieldSet 每次都会稍微扩展,因此整个 FieldSe
我对字段集标记有疑问:图例无缘无故地加下划线。如何去掉下面的细线? 这是显示问题的屏幕截图,我添加了红色背景只是为了突出显示图例“HEY”下的行 预先感谢您的帮助。 最佳答案 Bootstrap 正在
我刚开始使用 Blueprint,所以不要攻击我 :-)这是我的代码,一个简单的两列布局: Logo Here SlideShow
我想实现某种效果,其中字段集的底部边框应该覆盖其中的内容,z-index 低于内容,因此它看起来像这样: 到目前为止我得到的是简单的东西,其中每个圆圈都包含在字段集中,但没有任何效果。 HTML 和
这个问题在这里已经有了答案: Fieldset does not support display: table / table-cell (3 个答案) 关闭 5 年前。 样式 工作异常。在 Goo
正如之前多次询问(但从未真正回答过),我想将图例置于字段集中。 技巧在这里完美完成,我也为我的元素购买了它:http://themeforest.net/item/aloma-liquid-mobil
我正在尝试获取一个表单来动态添加更多具有动态生成的 ID 的输入字段。除了字段集 ID 使用最后一个输入字段的名称而不是原始字段集(如果您检查字段集的 ID,它说的是“fenceType2”而不是“f
在对 CSS 进行了大量的修改之后,我已经设法让我的表单元素正确排列。不幸的是,我终其一生都无法弄清楚如何修复标签/图像的定位错误。我希望它们在选择框旁边居中排列,但它们在选择框的顶部对齐,到目前为止
我在表单中使用了一些字段集。但是当我想使用它们时,它们就像残疾人一样。您不能在文本框中单击,也不能在选择框中选择选项。这是我的代码: HTML: Group 1 Opt
我一直在尝试解决这个问题一段时间,找不到解决方案。 这是我的代码 CSS .parent{ width:100px; display:table; border:1px sol
我有 2 个字段集: first fildset second fieldset 如何将它们放在同一行? 最佳答案 您可以将它们的 display css 属性设置为 inline: f
给定的字段集不能有两个图例,但是有没有办法在不使用 的情况下获得图例效果?标签? Some Text 我可以添加align=right到图例标签,使其位于右
我对 DTD 一无所知。 http://www.bls.gov/oco/ocos292.htm 在此页面上查看 fieldset 是如何在表单之外使用的,这很酷!我喜欢这种风格! 最佳答案 我认为这个
我的 html/css 中有以下代码。我正在寻找这样的设计: 我用了这个http://jsfiddle.net/watson/Gsj27/3/ fiddle 用于对字段集进行分区。但我无法显示字段集的
我有一个模型 Employee与 User 建立一对一关系.我试图在员工管理中包含一些用户字段 ( first_name, last_name, username, email ),以便直接从员工添加
我的 HTML 中有一个字段集,它基本上代表 5 星级评级系统,如下所示: 我已经定义了一个 onclick 事件,它定义了用户何时单击某些星级(
我有一些字段集,每个字段集都有几个输入字段。 我现在要做的是将 css 样式应用于“事件”字段集。 我所说的“活跃”是指字段集的输入元素之一得到了关注。 fieldset:hover{ opa
我尝试了不同的选项来对齐字段集中的元素,以便使用不同的方法将标题、文本和“了解更多”按钮保持在同一行上。但结果仍然是负面的: Align result 这是我的代码: fieldset { h
我是一名优秀的程序员,十分优秀!