使用jQuery操作Raio值

使用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

以下是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='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');
    });
    });
    
    据我所知,您不需要使用类。无论如何,一个解决方案是使用JS
    setTimeout
    函数

            $("input[type='radio']").mouseup(
                function (e) {
                    if ($(this).is(':checked')) {
                        var item = $(this);
                        setTimeout(
                            function () {
                                item.prop('checked', false);
                            },
                            200
                        );
                    }
                }
            );
    

    有关
    setTimeout
    函数的更多信息,请参见此处:

    到目前为止您尝试了什么,请向我们展示一些代码。更新代码以显示我的尝试。这并不能解决问题,请查看表单链接。我应该在表单链接上看到什么<代码>我需要一个选项,可以在再次单击时取消选择该选项。>