使用jQuery操作Raio值
以下是HTML:使用jQuery操作Raio值,jquery,Jquery,以下是HTML: <li class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible gsurvey-survey-field' id='field_1_213'> <label class='gfield_label'>MOOD</label> <div class='ginpu
<li class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible gsurvey-survey-field' id='field_1_213'>
<label class='gfield_label'>MOOD</label>
<div class='ginput_container ginput_container_likert'>
<table class='gsurvey-likert' id='input_1_213'>
<thead>
<tr>
<th class='gsurvey-likert-row-label' scope='col'></th>
<th class='gsurvey-likert-choice-label' scope='col'>RECOMMEND</th>
<th class='gsurvey-likert-choice-label' scope='col'>NOT RECOMMEND</th>
</tr>
</thead>
<tbody>
<tr>
<td class='gsurvey-likert-row-label' data-label=''>APPETITE</td>
<td class='gsurvey-likert-choice' data-label='RECOMMEND'><input id='choice_1_213_1_1' name='input_213.1' type='radio' value='glikertrowc23a480e:glikertcol213e396906a'></td>
<td class='gsurvey-likert-choice' data-label='NOT RECOMMEND'><input id='choice_1_213_1_2' name='input_213.1' type='radio' value='glikertrowc23a480e:glikertcol213ef7a9a10'></td>
</tr>
<tr>
<td class='gsurvey-likert-row-label' data-label=''>SOCIAL</td>
<td class='gsurvey-likert-choice' data-label='RECOMMEND'><input id='choice_1_213_2_1' name='input_213.2' type='radio' value='glikertrow2129f677:glikertcol213e396906a'></td>
<td class='gsurvey-likert-choice' data-label='NOT RECOMMEND'><input id='choice_1_213_2_2' name='input_213.2' type='radio' value='glikertrow2129f677:glikertcol213ef7a9a10'></td>
</tr>
<tr>
<td class='gsurvey-likert-row-label' data-label=''>PASSION</td>
<td class='gsurvey-likert-choice' data-label='RECOMMEND'><input id='choice_1_213_3_1' name='input_213.3' type='radio' value='glikertrow947f470d:glikertcol213e396906a'></td>
<td class='gsurvey-likert-choice' data-label='NOT RECOMMEND'><input id='choice_1_213_3_2' name='input_213.3' type='radio' value='glikertrow947f470d:glikertcol213ef7a9a10'></td>
</tr>
<tr>
<td class='gsurvey-likert-row-label' data-label=''>RELIEF</td>
<td class='gsurvey-likert-choice' data-label='RECOMMEND'><input id='choice_1_213_4_1' name='input_213.4' type='radio' value='glikertrow6ac41353:glikertcol213e396906a'></td>
<td class='gsurvey-likert-choice' data-label='NOT RECOMMEND'><input id='choice_1_213_4_2' name='input_213.4' type='radio' value='glikertrow6ac41353:glikertcol213ef7a9a10'></td>
</tr>
<tr>
<td class='gsurvey-likert-row-label' data-label=''>FLO</td>
<td class='gsurvey-likert-choice' data-label='RECOMMEND'><input id='choice_1_213_5_1' name='input_213.5' type='radio' value='glikertrow7b8e0a41:glikertcol213e396906a'></td>
<td class='gsurvey-likert-choice' data-label='NOT RECOMMEND'><input id='choice_1_213_5_2' name='input_213.5' type='radio' value='glikertrow7b8e0a41:glikertcol213ef7a9a10'></td>
</tr>
</tbody>
</table>
</div>
</li>
情绪
推荐
不推荐
胃口
社会的
激情
救济
弗洛
我想将输入值手动填充为默认值或无/空,并更新父类。
有人应该能够从一行中选中一个选项,如果他们改变主意,不想选择任何东西,他们应该能够取消选中所有选项(一行中有两个选项)。单击输入当前会选择一个选项,我希望有一个选项可以在再次单击时取消选择该选项。为了符合现有的jQuery,我测试了表单,查看是否将输入的值更改为空,它将被取消选择,并更改为默认值,它将被选择
当前代码允许选择2个选项中的任何一个,但不能取消选择
以下是我尝试过的:
<script type="text/javascript">
jQuery(document).ready(function($) {
var click = $('.gsurvey-likert-choice');
var input = click.find('input:radio');
var inputVal = input.val();
input.attr('data-default', inputVal);
input.attr('data-alt');
click.on("click", function() {
var input = $(this).find('input:radio');
var def = input.attr('data-default');
var alt = input.attr('data-alt');
(input.val() == def) ? input.val(alt) : input.val(def);
$(this).toggleClass('none-selected');
});
});
</script>
jQuery(文档).ready(函数($){
var click=$('.gsurvey-likert-choice');
var input=click.find('input:radio');
var inputVal=input.val();
input.attr('data-default',inputVal);
input.attr('data-alt');
单击.on(“单击”,函数(){
var input=$(this.find('input:radio');
var def=input.attr('data-default');
var alt=input.attr('data-alt');
(input.val()==def)?input.val(alt):input.val(def);
$(this.toggleClass('none-selected');
});
});
据我所知,您不需要使用类。无论如何,一个解决方案是使用JSsetTimeout
函数
$("input[type='radio']").mouseup(
function (e) {
if ($(this).is(':checked')) {
var item = $(this);
setTimeout(
function () {
item.prop('checked', false);
},
200
);
}
}
);
有关
setTimeout
函数的更多信息,请参见此处:到目前为止您尝试了什么,请向我们展示一些代码。更新代码以显示我的尝试。这并不能解决问题,请查看表单链接。我应该在表单链接上看到什么<代码>我需要一个选项,可以在再次单击时取消选择该选项。>