可以勾选复选框更新javascript函数调用参数?

时间:2011-05-31 02:01:32

标签: javascript jquery

我有几双的按钮&我的页面上的复选框(此考试中前两个参数的组合,每个按钮都有'登录'和'基础'唯一

<button class="square_button button_background" type="button" 
           onclick="run_through_ajax('login','basics','false')"> run </button>
<input name="restore" title="restore before ant run" type="checkbox">

我能以某种方式

  • onclick="run_through_ajax('login','basics','false')"更新为onclick =“run_through_ajax('login','basics',' true ')”一旦复选框勾选
  • 更新onclick="run_through_ajax('login','basics','true')"至onclick =“run_through_ajax('登录','基本','错误')”一旦复选框未勾选 < / LI>
  • 我可以为每一个按钮实现而不会引入ID 吗?我可以在div中“包装/分组”按钮和复选框,以便知道要更新的内容吗?

我可以使用jQuery,不必是纯粹的javascript解决方案。

每个“运行”按钮都会运行带有不同参数的javascript。该复选框用于区分是否需要在run之前执行一项额外操作。 enter image description here

1 个答案:

答案 0 :(得分:1)

怎么回事?

<强> HTML

<input type="hidden" value="login|basic"></input>
<button class="square_button button_background" type="button"> run </button>
<input name="restore" title="restore before ant run" type="checkbox">
<input type="hidden" value="test|advanced"></input>
<button class="square_button button_background" type="button"> run </button>
<input name="restore" title="restore before ant run" type="checkbox">
<input type="hidden" value="login|basic"></input>
<button class="square_button button_background" type="button"> run </button>
<input name="restore" title="restore before ant run" type="checkbox">

<强>的Javascript

function run_through_ajax(p1, p2, p3)
{
    console.log('p1: '+p1+', p2: '+p2+', p3: '+p3);
}

$(document).ready(function(){
    $('button[type=button]').click(function(e){
        var params = $(this).prev('input[type=hidden]').val();
        run_through_ajax(params.split('|')[0], params.split('|')[1], false);
    });
});

$('input[type=checkbox]').click(function(e){
    $(this).prev('button').unbind('click');
    $(this).prev('button').click(function(){
        var params = $(this).prev('input[type=hidden]').val();
        run_through_ajax(params.split('|')[0], params.split('|')[1], e.currentTarget.checked);
    });
});

http://jsfiddle.net/dbrecht/jpySU/

此处唯一的依赖是您要切换参数的按钮是页面中的上一个按钮元素。