为复选框分配值?

时间:2011-06-18 03:00:15

标签: jquery

好的,多亏了这里的人,我们已经为复选框点击排序了函数,现在正在使用不显眼的js。

我想要实现的是......

我们有一个表单,并且在提交时未选中复选框,表单会正常提交...

但是..我添加了一个选项来单击复选框,并显示隐藏的内容..我想成为同一表单的一部分,但附加值等。

...基本上

如果未选中复选框,则显示标准提交按钮。

如果单击复选框,则隐藏标准按钮并切换其他表单元素和新的提交按钮。

我面临的问题是:

  1. 从复选框中单击传递数值,因此需要设置为1或0 0标准什么都不做 1隐藏提交按钮,并切换隐藏的其他表单字段。
  2. 我可以让切换工作,但点击复选框它不会做任何事情。

    如果单击复选框,我也会隐藏提交按钮(通常显示)。

    隐藏元素的脚本:

    $('.styledCheckbox').change(function() {
        if ($(this).val() != "0") {
        $('.extraForm').show('fast');
        }else if ($(this).val() == "0") {
        $('.extraForm').hide('fast');
    }
    

    });

    复选框的

    脚本:

     $(function(){
      $('.styledCheckbox').click(function(){
        setCheckboxDisplay(this);
      });
    });
    

    html的复选框:

    <input name="include" type="checkbox" id="checkbox"  class="styledCheckbox" />
    

    隐藏的div

    <div class="extraForm" style="display:none;">
                                            <!--extra form elements and submit button here-->
                                        </div>
    

    哦,并且希望表单能够基于事件处理程序进行动态操作,因此如果标准表单提交...执行某些操作,如果选中复选框,则表单提交...执行其他操作

    还希望根据CHECKBOX选择更改表单操作?

    就像......

    changeAction(url){     document.this_form.action =“clicked.php”; }

    &LT; form method =“POST”name =“this_form”action =“unclicked.php”&gt;

2 个答案:

答案 0 :(得分:1)

如果选中复选框,我假设您正在尝试根据选中的状态切换表单。 如果是这样的话,试试:

$('.styledCheckbox').change(function() {
    if ($(this).is(':checked')) {
      $('.extraForm').show('fast');
    } else {
      $('.extraForm').hide('fast');
    }
});

答案 1 :(得分:1)

我认为它不起作用,因为您没有为复选框设置值。此外,jQuery is(":checked")函数最好检查是否选中了复选框:

<强> JS:

$('.styledCheckbox').change(function() {
    if ($(this).is(":checked")) {
        $('.extraForm').show('fast');
    } else {
        $('.extraForm').hide('fast');
    }
});

<强> HTML:

<input name="include" type="checkbox" id="checkbox" value="yes" class="styledCheckbox" />

广告@米