【问题标题】:Change() function not firing in jQueryjQuery 中没有触发 Change() 函数
【发布时间】:2015-05-20 08:15:23
【问题描述】:
<script type="text/javascript" src="/Style Library/functions/jquery-1.11.3.min.js"></script>
<script type="text/javascript">

        $(document).ready(function(){
        $('#ctl00_m_g_3b1a3698_a0fa_4283_bf23_e830e012a848_ff21_ctl00_ctl00_TextField').val("1501");
        });

        $('#ctl00_m_g_3b1a3698_a0fa_4283_bf23_e830e012a848_ff161_ctl00_Lookup').change(function() {
        var str = $('#ctl00_m_g_3b1a3698_a0fa_4283_bf23_e830e012a848_ff161_ctl00_Lookup: selected').text();
        $('#ctl00_m_g_3b1a3698_a0fa_4283_bf23_e830e012a848_ff21_ctl00_ctl00_TextField').val(str);
        })
        .change();
</script>

上面的代码部分工作。准备功能有效,但更改功能不会触发。请提供任何指导。我在 SharePoint NewForm.aspx 页面中使用的上述代码。

【问题讨论】:

  • 首先你需要使用ControlName.ClientID而不是一个大的渲染id,为什么你最后又调用change()?您应该需要在document ready event 中添加您的更改事件

标签: jquery function sharepoint


【解决方案1】:

我按照以下参考链接中的内容更改了我的代码,现在我的代码按预期工作。更改功能现在正在触发,更改时在文本框中设置值:

Jquery select change not firing

$(document.body).on('change','#ctl00_m_g_3b1a3698_a0fa_4283_bf23_e830e012a848_ff161_ctl00_Lookup',function(){

var str = $('#ctl00_m_g_3b1a3698_a0fa_4283_bf23_e830e012a848_ff161_ctl00_Lookup :selected').text();

$("#ctl00_m_g_3b1a3698_a0fa_4283_bf23_e830e012a848_ff21_ctl00_ctl00_TextField").val(str);    
});

【讨论】: