为了账号安全,请及时绑定邮箱和手机立即绑定

在点击函数中调用函数

在点击函数中调用函数

温温酱 2023-05-11 09:50:26
我有一些图像和一个表单,其中有一个输入文本、一对单选按钮和一个选择选项,每次我选择一个单选按钮和一个选项时,它们都会被禁用,并且在 '单击 guardar cambios 的按钮,当我选择一个选项(在示例中它是选项 1)和一个图像它更改为另一个但我想要的是,以防万一这个人选择了错误的选项,撤消它,所以我创建了一个函数,它有三个参数,即 radio 和 select 的值以及所选图像的类,我在“seleccionar”中调用它,在那里我重置了这三个元素的值,然后我把它放在 click 函数中(撤消按钮)。https://codepen.io/luzsdx/pen/ExKqwXP我遵循了如何从另一个点击事件函数中的点击事件调用函数?但问题是,当我选择一个图像时,它不会被另一个替换,有人能告诉我我做错了什么吗?谢谢,我在控制台中收到“类未定义”错误 function deshacer (classes, valorRadio, valorSelect) {        $(valorRadio).prop("selectedIndex", 0).attr('disabled', false);        $(valorSelect).val('none').attr('disabled', false)        $(`div.${classes}>object`).attr('data', 'diente.svg')    }    $('.deshacer').on('click', function(e){        e.preventDefault()        deshacer(classes, valorRadio, valorSelect)    })    function seleccionar(valorSelect, valorRadio, classes, idImg) {        if (valorSelect) {            if (confirm('¿Seleccionar pieza Nro ' + classes + '?')) {            } else {                return false            }        }        if (valorRadio == 'rojo') {            if (valorSelect == 2) {                alert('Extracción indicada es una prestación requerida.')                $('#tratSelect').val('none')            } else if (valorSelect == 1) {                $(`div.${classes}>img`).attr('src', 'https://cdn-0.emojis.wiki/emoji-pics/lg/red-circle-lg.png')            }         }  deshacer(classes, valorRadio, valorSelect)    } 
查看完整描述

1 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

全局变量


初始全局变量,以便可以在函数内部调用值,在你的顶部添加那些


var valorSelectValue;

var valorRadioValue;

var classesValue;

var idImgValue;

现在,大部分时间你可以保存,更新这些变量的选择有时他们称之为公共/私有变量取决于你的需要并且可以在你的函数中调用它,在其他一些情况下你可能会使用this.valorSelectValue;


局部变量:当您初始化在函数中定义的局部变量时。它们具有局部作用域,这意味着它应该在定义它们的函数中使用。


全局变量:它们是在函数外部定义的变量。这些变量具有全局范围,因此它们可以被任何函数使用,而不需要将它们作为函数的参数传递。


接下来,添加名为的新类defaultImage


.defaultImage {

content:url("https://www.tacoshy.de/Images/teeth.png");

    background-repeat: no-repeat;

    width: auto; /*or your image's width*/

    height: auto; /*or your image's height*/

    margin: 0;

    padding: 0;

}

在你的函数中seleccionar我实现了新的逻辑


function seleccionar(valorSelect, valorRadio, classes, idImg) {


...

...


} else if (valorSelect == 1) {


...


// Lookup for any active selection

if ($(`.active`)) {


// Remove added red-circle-lg.png from element

($(`.active`)).removeAttr("src")  


// Add defaultImage before removing active class

$(`.active`).addClass("defaultImage") 


// Remove active class

$(`.active`).removeClass("active") 

                

}

// Remove defaultImage class

$(`div.${classes}>img`).removeClass("defaultImage") 


// Add red-circle-lg.png Image

$(`div.${classes}>img`).attr('src', 'https://cdn-0.emojis.wiki/emoji-pics/lg/red-circle-lg.png')


// Add active class              

$(`div.${classes}>img`).addClass('active')


查看完整回答
反对 回复 2023-05-11
  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信