gpt4 book ai didi

javascript - 使用 jquery 获取特定的 id

转载 作者:行者123 更新时间:2023-11-30 16:00:00 24 4
gpt4 key购买 nike

我有一个这样的代码:

<div class="answer_id" value="1" name="false">
<input id="AsnwerAnswer1" type="checkbox" value="1" name="true"></input>
Answer 1
</div>

我有 4 个答案与上面的代码类似,唯一改变的是我的 div 中的值和输入 ID。

当我点击一个复选框时,选中的复选框获得值 true :

$("input:checkbox").click(function() {
var thisChecked = $(this)[0].checked;
$("input:checkbox").removeAttr('checked');
$("input:checkbox").attr('name', 'false');
$(this).attr('name', 'true');
$(this)[0].checked = thisChecked ? true : false;
});

当我点击按钮发送答案时:

$('#sendReponse').click(function(){

我想获取包含选中复选框(其值为 true 的那个)的 div 的值。

我应该添加什么:

var iReponseId = $(this).closest('.answer_id').attr('value');

顺便说一句,如果你能帮助我理解点击功能的作用,那就太好了。根据我的说法,这删除了所有选中的属性,因此我只能选中一个复选框,这将每个复选框的名称设置为 false 期望被选中的那个,但我不明白这一点:

 $(this)[0].checked = thisChecked ? true : false; 

编辑:

我这样做是为了得到我想要的:

    $("input:checkbox").click(function() {
$("input:checkbox").not(this).prop('checked',false).removeAttr('class', 'chosen_answer');
$(this).attr('class', 'chosen_answer');
});

然后

 $('#sendReponse').click(function(){
var iReponseId = $('.chosen_answer').closest('.answer_id').attr('value');

最佳答案

在您的代码中 $(this)[0].checked = thisChecked ? true : false; 有助于在删除选中属性后回滚之前选中属性的状态,它可以简化为 this.checked = thisChecked


您可以按如下方式减少整个代码

// use change event always for chekbox
$("input:checkbox").change(function() {
// get all checkbox
$("input:checkbox")
.not(this) // ignore the clicked checkbox
.prop('checked',false) // uncheck the checkbox
.attr('name', 'false'); // set the attribute
$(this).attr('name', 'true'); // set name of clicked
});

要获取包含输入的 div,您需要使用 answer_id 类而不是 response_id

var iReponseId = $(this).closest('.answer_id').attr('value');

仅供引用: 使用自定义属性时始终使用标准 data-*格式。

关于javascript - 使用 jquery 获取特定的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37921709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com