Jquery Div单选按钮
我在这里和网上看到了一些答案,但由于我需要问其他问题,我提出了这个问题我好像什么也做不到 因此,我想要的是Jquery Div单选按钮,jquery,html,css,Jquery,Html,Css,我在这里和网上看到了一些答案,但由于我需要问其他问题,我提出了这个问题我好像什么也做不到 因此,我想要的是Yes和No选项,这些将是按钮,当按下它们时,它们将保持活动状态,因为它们将根据这些值在页面上显示div 例如: 是=您赢了 否=您丢失了 这些div将显示在按钮下。我的问题是如何从div中获取值?我试着在里面用单选按钮让它工作,但我似乎做不到 到目前为止我所拥有的 HTML: jQuery: 所以按钮看起来会像这样,按下时会改变背景,还会提出另一个问题等等。。。在同一页上会有多个问题和答
Yes
和No
选项,这些将是按钮,当按下它们时,它们将保持活动状态,因为它们将根据这些值在页面上显示div
例如:
是=您赢了
否=您丢失了
这些div将显示在按钮下。我的问题是如何从div中获取值?我试着在里面用单选按钮让它工作,但我似乎做不到
到目前为止我所拥有的
HTML:
jQuery:
所以按钮看起来会像这样,按下时会改变背景,还会提出另一个问题等等。。。在同一页上会有多个问题和答案
编辑:
忘记添加我希望单选按钮不可见,因此它看起来像是选择了
div
,没有单选按钮。很抱歉在编写问题时没有添加该属性。您可以在DIV中包含data属性
看看你的JSFIDLE,我对HTMl和Jquery做了一些修改:
那怎么办
jQuery非常简单:
$('input[name="options"]').click(function () {
$('.optiontest').removeClass('optiontest')
$(this).closest('.option').toggleClass('optiontest')
});
我修改了你的HTML,给了单选按钮值(你把它设置为ID)和相同的名称,这给了它们正确的单选按钮行为
<div class="buttonHolder">
<div class="option">Yes
<input name="options" value="yes" type="radio" />
</div>
<div class="option">No
<input name="options" value="no" type="radio" />
</div>
</div>
对
不
这可能会有帮助:-
对
不
数据
属性将帮助您解决问题,即数据是
和数据否
好,这很有意义,我忘了在我的问题中说我真的不希望单选按钮可见。很抱歉,现在更新我的问题。使用这个,不需要单选按钮,是吗?使用此数据属性时。是。。。你可以完全删除单选按钮,如果你想。。。更新了您的JSFIDLE。。谢谢你的回答,我编辑了我的问题,因为我忘记了一个关键点。但这正是我想要的,但是没有单选按钮。
$('.option').click(function () {
var $this = $(this);
var input = $this.find('input');
$('.optiontest').toggleClass('optiontest');
$(input).prop('checked', true);
$(this).toggleClass('optiontest');
});
$('.option').click(function () {
var $this = $(this);
var input = $this.find('input');
$('.optiontest').toggleClass('optiontest');
$(input).prop('checked', true);
$(this).toggleClass('optiontest');
var dataValue = $this.data("optionvalue"); // using data attribute to put the value
alert(dataValue);
});
$('input[name="options"]').click(function () {
$('.optiontest').removeClass('optiontest')
$(this).closest('.option').toggleClass('optiontest')
});
<div class="buttonHolder">
<div class="option">Yes
<input name="options" value="yes" type="radio" />
</div>
<div class="option">No
<input name="options" value="no" type="radio" />
</div>
</div>
<div class="buttonHolder">
<div class="option1">Yes
</div>
<div class="option2">No
</div>