为什么我的 select 的 change 事件会失效? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CR7sun
V2EX    jQuery

为什么我的 select 的 change 事件会失效?

  •  
  •   CR7sun 2020-02-20 10:06:47 +08:00 4252 次点击
    这是一个创建于 2059 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 jquery 触发 select 的 change 事件,在本地单独页面测试是正常的,但是加到一个 discuz 的网站里面就失效了,怎么都无法触发,请问这是怎么回事?是 discuz 的问题还是什么?如何才能正常监听呢?

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" cOntent="text/html; charset=gbk" /> <title>测试表单 </title> <meta name="keywords" cOntent="" /> <meta name="description" cOntent="" /> <link rel="stylesheet" type="text/css" href="template/common/common.css" /> <link rel="stylesheet" type="text/css" href="template/form/default/form.css" /><script src="template/form/jquery.min.js" type="text/Javascript" charset="gbk"></script> <script src="static/js/common.js" type="text/Javascript" charset="gbk"></script> <script src="static/js/form.js" type="text/Javascript" charset="gbk"></script> <meta name="viewport" cOntent="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no"> <script type="text/Javascript"> var charset = "gbk"; var iniframe = false ; </script> </head> <body> <div id="append_parent"></div><div id="ajaxwaitid"></div> <div class="topnav"> <p class="navinf"> <!--zkgl<span class="pipe">|</span> --> <!--<a href="admin.php" target="_blank">管理中心</a><span class="pipe">|</span> <!--<a href="member.php?mod=logging&amp;action=logout&amp;formhash=295519c2&amp;module=form&amp;tpl=default">退出</a> --> </p> <ul> <!--<li class="navlogo"><a href="" title=""></a></li> --> <!--<li><!--</li> --> </ul> </div> <div id="wp" class="wp"> <div class="mn"> <div class="info wx"> <h1>测试表单</h1> </div> <form id="form" enctype="multipart/form-data" Onsubmit="return valida_ajaxpost(this);" action="form.php?mod=post" method="post"> <input type="hidden" name="handlekey" value="formresult" /> <input type="hidden" name="id" value="6" /> <input type="hidden" name="formhash" value="295519c2" /> <table cellspacing="0" cellpadding="0" class="tfm"><tr> <th><span style= "text-align:center" id="fieldtitle_qkks">订阅期数</span></th> <td> <span class="ftid"> <select name="fieldvalue[qkks]" id="fieldvalue_qkks" style="width:150px;text-align: center;" tabindex="1" class="ps"><option value="1" >1 期</option> <option value="2" >2 期</option> <option value="3" >3 期</option> <option value="4" >4 期</option> <option value="5" >5 期</option> <option value="6" >6 期</option> <option value="7" >7 期</option> <option value="8" >8 期</option> <option value="9" >9 期</option> <option value="10" >10 期</option> <option value="11" >11 期</option> <option value="12" >12 期</option> </select> </span> <span id="checkresult_qkks"></span> </td> </tr> <tr> <th><span style= "text-align:center" id="fieldtitle_dysl">份  数</span></th> <td> <input type="text" name="fieldvalue[dysl]" id="fieldvalue_dysl" class="px" tabindex="1" style="width:150px" OnBlur="checkfield('dysl', '0', 'number', '0', '0')" value="" /> <span id="checkresult_dysl"></span> <div class="d"> 20 元 /份</div> </td> </tr> <tr> <th><span style= "text-align:center" id="fieldtitle_dyje">金  额</span></th> <td> <input type="text" name="fieldvalue[dyje]" id="fieldvalue_dyje" class="px" tabindex="1" style="width:150px" OnBlur="checkfield('dyje', '0', 'number', '0', '0')" value="" /> <span id="checkresult_dyje"></span> </td> </tr> <input name="sechash" type="hidden" value="S1vm8" /> <tr> <td></td> <td> <button type="submit" id="formsubmit" class="pn pnc" value="true" name="formsubmit"><span>提 交</span></button> </td> </tr> </table> <script type="text/Javascript"> jQuery("#fieldvalue_qkks").change(function () { var a = jQuery('#fieldvalue_dysl').val(); var b = 20; var c = jQuery(this).children('option:selected').val(); var sum= a * b * c; jQuery('#fieldvalue_dyje').val(sum); }); }) </script></form> <div id="return_formresult" sytle="display:none;">&nbsp;</div><div class="cl" id="ft"> </div> </div> </div></body> </html> 
    9 条回复    2020-02-20 11:39:05 +08:00
    U7Q5tLAex2FI0o0g
        1
    U7Q5tLAex2FI0o0g  
       2020-02-20 10:10:00 +08:00
    dom 加载结束再绑事件
    le720
        2
    le720  
       2020-02-20 10:17:23 +08:00
    看一下控制台,语法错了,倒数第七行,多了。
    CR7sun
        3
    CR7sun  
    OP
       2020-02-20 10:19:19 +08:00
    @littleylv 我这个已经是 dom 加载结束后再绑事件了,discuz 里面 jquery 的$()要改为 jQuery()
    CR7sun
        4
    CR7sun  
    OP
       2020-02-20 10:21:00 +08:00
    @le720 不好意思漏了一个 jQuery(function(){ 实际上我写了还是没有触发
    le720
        5
    le720  
       2020-02-20 10:25:18 +08:00
    @CR7sun 有没有具体的报错信息呢,我刚才试了,checkfield 这个 blur 事件也没定义
    CR7sun
        6
    CR7sun  
    OP
       2020-02-20 10:30:27 +08:00
    @le720 实际上并没有报错 ```jQuery('#fieldvalue_dysl').bind('input propertychange', function() {
    var optiOns= jQuery("#fieldvalue_qkks option:selected");
    var fieldvalue_qkks = options.val();
    var a = jQuery('#fieldvalue_dysl').val();
    var b = 20;
    var c = fieldvalue_qkks;
    var sum= a * b * c;
    jQuery('#fieldvalue_dyje').val(sum);
    jQuery('#fieldvalue_dyje').trigger("click");
    });``` 这个监听输入框的是可以的,监听 select 的就不行
    le720
        7
    le720  
       2020-02-20 10:33:03 +08:00
    @CR7sun alert 大法,一行行试试吧。另外,这都 2020 了,能稍微规范一下前端的内容嘛
    no1xsyzy
        8
    no1xsyzy  
       2020-02-20 11:31:33 +08:00
    直接发 Demo 多好,前端有那么多 Demo 站
    duan602728596
        9
    duan602728596  
       2020-02-20 11:39:05 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1211 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:28 PVG 01:28 LAX 10:28 JFK 13:28
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86