首页 > 解决方案 > python烧瓶停用复选框并获取ID

问题描述

我想用选择框设置两个类别

<select name="categories" class="form-control">
    <option value="">Choose</option>
    <option value="0">Categori 0</option>
    <option value="1">Categori 1</option>
</select>

那么会有两个不同类别的复选框

<input class="form-check-input" name="N1" type="checkbox" id="a1" value="A" disabled>
<input class="form-check-input" name="N1" type="checkbox" id="a2" value="B" disabled>
<input class="form-check-input" name="N1" type="checkbox" id="a3" value="C" disabled>

<input class="form-check-input" name="N2" type="checkbox" id="a4" value="X" disabled>
<input class="form-check-input" name="N2" type="checkbox" id="a5" value="Y" disabled>
<input class="form-check-input" name="N2" type="checkbox" id="a6" value="Z" disabled>

和脚本代码。如果我选择类别 1 name="N1",如果我选择类别 2 name="N2" 复选框将处于活动状态。

        $(document).ready(function(){
         $('select[name="categories"]').change(function(){
           $('input[name="N1"]').prop('disabled',this.value != 1 ?false:true);
         });
         $('select[name="categories"]').change(function(){
           $('input[name="N2"]').prop('disabled',this.value != 0 ?false:true);
         });
        });

至此,一切都完成了。但是,我不能用路由中的值调用 id。

@bp.route('/activity_type_form', methods=['GET', 'POST'])
@login_required
def activity_type_form():
    if request.method == 'POST':
        data1 = request.form.get('a1')
        data2 = request.form.get('a2')
        ..........
        ..........
    return render_template('activity_type_form.html', title=_('Company Profile'))

也许我可以通过键入 name="N1"、name="N2"、name="N3" 来继续,这样我就可以从路由中获取我想要的名称值。但是我找不到将名称值批量提供给脚本代码的方法。

$('input[name="N1", name="N2", name="N3"]').prop('disabled',this.value != 1 ?false:true);

我的目标是勾选所选类别中的复选框。也许让别人看不见是该死的。或者,通过在“id”值上运行脚本代码,仅使选定的类别处于活动/非活动状态。欢迎您提出意见和建议。提前感谢您的宝贵意见..

标签: javascriptpythonflask

解决方案


我找到了一种方法..不完美但是..

$('input[name="N1"], input[name="N2"], input[name="N3"]').prop('disabled',this.value != 1 ?false:true);

已经走了很长一段路,但我既可以命令 javascript 也可以从路由中获取名称值。


推荐阅读