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

时间:2015-06-01 22:50:01

标签: jquery sharepoint-2010 web-parts document-ready

我越来越近了;在一个孤立的海角上徘徊并发出细丝,细丝,细丝出自我(如记录here)后,我将其添加到WebPage的* .ascx文件的末尾(在< %@ Assembly,<%@ Register,<%@ Import,<%@ 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>

...我看&#34;它是如何抓住你的?&#34;当页面加载时,以及其他一些警告:

enter image description here

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

这个jQuery有什么问题吗?

注意:创建RadioButton并为其分配ID,如下所示:

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

2 个答案:

答案 0 :(得分:1)

这是因为你需要

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

而不是

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

没有被明确地调用,valueOftoString都是函数,因为在JavaScript函数中是对象,你可以将它们分配给变量,这就是你所看到的警报结果。

答案 1 :(得分:0)

问题是尝试使用我提供的ID来获取对元素的引用是不够好的,如Sharepoint,ASP.NET或Chrome,或Tim Berners-Lee,或Al Gore,或某人,正在使用“查看来源”

来识别ID

因此,我不得不使用“查找我指定的ID名称结尾的ID”语法来使其工作。您可以看到细节here,但基本上需要的是这个(用复选框替换了单选按钮):

#user_field .topmenu a {
  background-color: green;
  background-color: red;
  background-color: #faeacd; /* value of menu_color_hex is used instead of menu_color_rgba? */
  background-color: blue;
}