Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过jquery在其单击事件上更改超链接自己的文本_C#_Jquery - Fatal编程技术网

C# 通过jquery在其单击事件上更改超链接自己的文本

C# 通过jquery在其单击事件上更改超链接自己的文本,c#,jquery,C#,Jquery,我有一个动态生成的超链接列表,我正在使用jquery绑定点击事件,一切都很好,只是我不能做的一件事就是更改它的文本 **this.value = s;** 这就是我试图做的,但没有成功 我的完整代码: $(document).ready(function () { $('[id*="lnkStatus_"]').bind('click', SaveRequirmentStatus); }); function SaveRequirmentStatus(event) { va

我有一个动态生成的超链接列表,我正在使用jquery绑定点击事件,一切都很好,只是我不能做的一件事就是更改它的文本

 **this.value = s;**
这就是我试图做的,但没有成功

我的完整代码:

$(document).ready(function () {
    $('[id*="lnkStatus_"]').bind('click', SaveRequirmentStatus);
});

function SaveRequirmentStatus(event) {
    var itemID = $(event.currentTarget).attr('id');
    var intProjectId = $('[id$="hdnProjectId"]').val();
    var idRequirment = itemID.split('_')[1];
    var idRequirementPhase = itemID.split('_')[2];
    var idPhaseStatus = $(event.currentTarget).val();
    if (intProjectId != '0' && idRequirment != '0' && idRequirementPhase != '0') {
        $.getJSON('handler/RequirementLifecycleHandler.ashx?     FuncName=SaveRequirment&idRequirment=' + idRequirment + "&idRequirementPhase=" + idRequirementPhase + "&idProject=" + intProjectId + "&idPhaseStatus=" + idPhaseStatus, function (ValueStatus) {
            var s = ValueStatus;
            alert(this);
            this.value = s;
        });
    }
}    

在您使用它的上下文中不引用链接,因此在内部函数之外保存对它的引用并使用它。此外,链接没有值,可以使用jQuery函数设置文本

将代码更改为此应该可以执行以下操作:

function SaveRequirmentStatus(event) {
    var $this = this; // save reference to the clicked link
    var itemID=$(event.currentTarget).attr('id');
    var intProjectId=$('[id$="hdnProjectId"]').val();
    var idRequirment=itemID.split('_')[1];
    var idRequirementPhase=itemID.split('_')[2];
    var idPhaseStatus = $(event.currentTarget).val();
    if (intProjectId != '0' && idRequirment != '0' && idRequirementPhase != '0') {
        $.getJSON('handler/RequirementLifecycleHandler.ashx?FuncName=SaveRequirment&idRequirment=' + idRequirment + "&idRequirementPhase=" + idRequirementPhase + "&idProject=" + intProjectId + "&idPhaseStatus=" + idPhaseStatus, function(ValueStatus) {
            $this.text(ValueStatus); // set the text of the link to ValueStatus
        });
    }
}
这应该可以

$(function() {
$('[id*="lnkStatus_"]').bind('click', SaveRequirmentStatus); 

});
function SaveRequirmentStatus(event) {
 $(this).text(ValueStatus);
}

是否有错误,或者根本不起作用?如果在
$this.text(ValueStatus)处添加断点它曾经被击中过吗?@user2553774您至少应该使用
控制台.log
或firebug或任何其他工具来调试代码。提供更多信息。@RichardDalton我相信OP复制了
var$this=this而不是在那里添加链接代码。我在这行之前和之后都添加了警报,这两个警报都触发了,但是文本没有被激活changed@user2553774你能发布点击触发此事件的HTML吗?我已经在“$(this).text(ValueStatus);”前后放置了警报,两个警报均已触发,但文本未更改