Jquery,单击选中单选按钮上的()方法

Jquery,单击选中单选按钮上的()方法,jquery,forms,click,radio-button,Jquery,Forms,Click,Radio Button,我创造了一个巨大的形式。我必须使用Jquery执行许多操作。我已经完成了我可以采取行动的部分。是我做控制的时候了 通过控件,我的意思是,假设我将编辑数据,我必须收集选择/检查哪个表单元素等,这取决于我必须显示额外表单元素的变量 我已经为操作编写了300多行Jquery代码。我现在必须做控件,但我不想复制、粘贴和编辑超过300行的Jquery代码,所以我尝试了一种懒惰的方式,但没有成功 // Category if ($('input[name=category]:checked').val()

我创造了一个巨大的形式。我必须使用Jquery执行许多操作。我已经完成了我可以采取行动的部分。是我做控制的时候了

通过控件,我的意思是,假设我将编辑数据,我必须收集选择/检查哪个表单元素等,这取决于我必须显示额外表单元素的变量

我已经为操作编写了300多行Jquery代码。我现在必须做控件,但我不想复制、粘贴和编辑超过300行的Jquery代码,所以我尝试了一种懒惰的方式,但没有成功

// Category
if ($('input[name=category]:checked').val() == 1) {
    $('input[name=category]:eq(1)').click();
}
// Product
else if ($('input[name=category]:checked').val() == 0) {
    $('input[name=category]:eq(0)').click();
}
// Undefined Value
else {
    $('.frm_options').slideUp();
}
我不知道上面的代码为什么不起作用。我可以看到它正在更改单选按钮元素的checked属性,但它没有单击,所以它将显示表单的其余部分

/********************************************************************************************
                                    ACTIONS
********************************************************************************************/
$('input[name=category]').bind('click', function () {
    // Show rest of the form
    $('.frm_options').slideDown();

    // Product Specific
    if ($(this).val() == 0) {
        $('.frm_category_0').fadeIn(1000);
        $('.frm_category_1').fadeOut(1000);
    }
    // Category Specific
    else if ($(this).val () == 1) {
        $('.frm_category_1').fadeIn(1000);
        $('.frm_category_0').fadeOut(1000);
        }
        // Undefined Value, Hide everything
        else{
                $('.frm_options').slideUp();
                $('.frm_category_1').slideUp();
                $('.frm_category_0').slideUp();
        }
});
我想现在更清楚我想在这里做什么了。简单地说,我正在尝试操作click函数,这样我就不必再编写所有代码了

有人知道我这个问题的解决方案吗?如果有人能帮我解决这个问题,我会非常高兴的


提前感谢。

要触发单击事件,您需要单击它

编辑:

也试试这个()

在操作中do
$('input[name=category]').bind('click.category',function(){

在控件部分do
$('input[name=category]:eq(1)')。触发器('click.category');


HTH

按顺序排列代码,然后编写代码生成它

/********************************************************************************************
                                    ACTIONS
********************************************************************************************/
$('input[name=category]').bind('click', function () {
    // Show rest of the form
    $('.frm_options').slideDown();

    // Product Specific
    if ($(this).val() == 0) {
        $('.frm_category_0').fadeIn(1000);
        $('.frm_category_1').fadeOut(1000);
    }
    // Category Specific
    else if ($(this).val () == 1) {
        $('.frm_category_1').fadeIn(1000);
        $('.frm_category_0').fadeOut(1000);
        }
        // Undefined Value, Hide everything
        else{
                $('.frm_options').slideUp();
                $('.frm_category_1').slideUp();
                $('.frm_category_0').slideUp();
        }
});


// Category
if ($('input.category:checked').val() == 1) {
    $('input.category:eq(1)').click();
}
// Product
else if ($('input.category:checked').val() == 0) {
    $('input.category:eq(0)').click();
}
// Undefined Value
else {
    $('.frm_options').slideUp();
}// Category
if ($('input[name=category]:checked').val() == 1) {
    $('input[name=category]:eq(1)').click();
}
// Product
else if ($('input[name=category]:checked').val() == 0) {
    $('input[name=category]:eq(0)').click();
}
// Undefined Value
else {
    $('.frm_options').slideUp();
}

您想将调用移动到
。请单击
.bind
调用下方的
。否则,请在附加事件处理程序之前单击元素。

尝试
$('input[name=category]:eq(0)')。触发器('click'))
感谢您的回复3nigma。不幸的是,它没有向下滑动。frm_选项部分。您好3nigma,再次感谢您的回复,但这仍然没有起到作用:(首先控制以后的操作开始,所以是的,它们是按顺序排列的,但我不理解您的意思“然后编写代码生成它”。假设jquery代码是
$(ixa1)。单击(函数(){});
,然后就有了
$(ixa2)。单击(函数(){})
当ixa随着ixa3而增加时,..ixa4只需运行一个for循环就可以用html生成代码,相信我,它的工作方式就像charmSorry Jean,我对这个主题很陌生,所以我不能真正理解你。我只想操纵click()事件,所以$('.frm_options')。slideDown()将用于bind()活动。非常感谢雷诺斯。非常感谢。