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