如何在 SharePoint WebPart 上使用 jQuery 响应 RadioButton 的更改事件?

How can I respond to a RadioButton's change event with jQuery on a SharePoint WebPart?

我快到了;在一个孤立的海角上挣扎并从我自己发出灯丝、灯丝、灯丝之后(如记录 ),我将其添加到网页的 *.ascx 文件的末尾(在 <%@ 程序集之后,< %@ Register, <%@ Import, and <%@ Control jazz, 以及一个

<script>
$(document).ready(function () {
    alert("How does that grab you?");
    var s = $("#radbtnEmp").toString;
    alert(s);
    var t = $("#radbtnEmp").valueOf;
    alert(t.toString);
    $('input:radio[name=radbtnEmp]:checked').change(function () {
        if ($("input[name='radbtnEmp']:checked").val() == 'Employee?') {
            alert("radbtnEmp checked");
        }
        else {
            alert("radbtnEmp not checked");
        }
    });
});
</script>

...我 在页面加载时看到 "How does that grab you?",以及其他一些警报,例如:

但我仍然没有看到对我真正需要响应的内容的响应,即单选按钮的更改事件(在将其从关闭切换到打开之后)。

这个jQuery有什么wrong/missing吗?

注意: RadioButton 的创建和分配 ID 如下所示:

var radbtnEmployeeQ = new RadioButton
{
    CssClass = "dplatypus-webform-field-input",
    ID = "radbtnEmp"
};

因为你需要

var s = $("#radbtnEmp").toString();
var t = $("#radbtnEmp").valueOf();

而不是

var s = $("#radbtnEmp").toString;
var t = $("#radbtnEmp").valueOf;

无需明确调用,valueOftoString 都是函数,并且由于在 JavaScript 中函数是对象,您可以将它们分配给一个变量,这是警告的结果是你看到的...

问题是尝试使用我提供的 ID 获取对元素的引用不够好,如 Sharepoint、ASP.NET、Chrome 或 Tim Berners-Lee ,或阿尔·戈尔,或 某人,正在将 ID 威尔士化,如 "View Source"

中所示

因此,我不得不使用 "find ID that ends with the ID name I assigned" 语法来让它工作。您可以看到细节 但基本上需要的是这个(用复选框替换单选按钮):

$(document).on("change", '[id$=ckbxEmp]', function () {