javascript - 当显示我的隐藏选择表单时,它不会调用 javascript 函数

标签 javascript css jquery-mobile hidden

我有一个隐藏的选择元素,其中包含对 javascript 函数的 onchange 调用。

当用户单击我页面上的按钮时,我运行以下代码并显示我的选择表单:

$("#moreDetails2").show();
$('#moreDetails2').trigger("create");

但是在显示之后,它不会执行其 JavaScript 函数。我已经测试过它没有隐藏并且有效。

<div id = \"moreDetails2\">  
                    <select  onchange=\"moreDetails2($userID,'$id')\">

                        <option value=\"0\">More Options</option>
                        <option value=\"1\"> View Taste Profile</option>
                        <option value=\"2\"> Add Taste Tags</option>

                    </select>
                </div>

查看 chrome 中的 inspect 元素,我没有收到任何错误。

最佳答案

jQuery Mobile 不能很好地处理 onchange="... 或 onclick="... 事件绑定(bind),您需要像这样手动完成:

$(document).on('pagebeforeshow', '#index', function(){       
    $(document).on('click', '#test-button', function(){     
        $("#moreDetails2").show();
        $("#moreDetails2 select").css('display','block').selectmenu('refresh');
    });    

    $("#moreDetails2 select").on( "change", function(event, ui) {
        moreDetails2('aaaa');
    });    
});

function moreDetails2(text) {
    alert(text);
}

这是根据您的代码创建的一个有效的 jsFiddle 示例:http://jsfiddle.net/Gajotres/DpdXY/

关于javascript - 当显示我的隐藏选择表单时,它不会调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773954/

相关文章:

jquery - Phonegap - 可靠的页面宽度检测?

javascript - 试图让 div 在 keydown 时在屏幕上移动

javascript - 首次加载时仅加载一次广告 (div)

javascript - 可能的 : Animate Jquery slider?

javascript - JS 和 HTML 不同的 Footer Render

css - 将背景颜色设置为文本字段不会使用 ext js 附加颜色

javascript - 缓存原型(prototype)函数不会缓存它所属的对象

javascript - React 表单提交 - 字段始终为空

javascript - 如果元素具有类和特定值,则 jquery 显示内容

html - 带有破折号下划线的命名类和 id 的 CSS 趋势?