C# 使用Ajax更改包含链接的标签内部文本

C# 使用Ajax更改包含链接的标签内部文本,c#,javascript,asp.net,asp.net-mvc,jquery,C#,Javascript,Asp.net,Asp.net Mvc,Jquery,我有一个包含如下链接的标签: <label id="textlabel" > <a href="#" id="testlink">data</a> </label> JavaScript: function myfunc(clicked_id) { var label = document.getElementById(clicked_id).parentElement; var params

我有一个包含如下链接的标签:

<label id="textlabel" > <a href="#"  id="testlink">data</a> </label>
JavaScript:

function myfunc(clicked_id) {

            var label = document.getElementById(clicked_id).parentElement;
            var params = "{'orderid':'" + clicked_id + "'}";
            var fd = new FormData();
            fd.append("orderid", params);
            alert("test");

            $("'#" + clicked_id + "'").click(function () {
                $.ajax
                       ({
                           url: 'Handler.ashx',
                           data: fd,
                           processData: false,
                           contentType: false,
                           type: 'POST',
                           success: function (result) {
                               $("'#"+label.id+"'").text(result);
                               }
                       })
            });
        }
更新:

  • 以下ajax通常可以工作

     <script type="text/javascript">
    function myfunc(clicked_id) {
        var params = "{'orderid':'" + clicked_id + "'}";
        var label = document.getElementById(clicked_id).parentElement;
    
        $("#"+label.id).click(function () {
            $.ajax({
                type: "POST",
                url: "Handler.ashx",
                data: clicked_id,
                success: function (result) {
                    $("#" + label.id).text(result);
                          }          
            }); });
    }
    
    更新:

    最后我发现哪里出了问题。这是我使用的标签ID。他们都有“+”在更改为“z”后,我的应用程序现在运行良好


    感谢所有帮助更新问题代码的人

    这里面有个小故障

    success: function (result) {
        $("'#"+label.id+"'").text(result) 
    }
    
    应该是

    success: function (result) {
        $("#"+label.id).text(result) 
    }
    
    另外,要测试标签对象是否存在,可以添加

    success: function (result) {
        console.log(label); // DON'T FORGET TO REMOVE THIS LINE LATER BEFORE DEPLOYING
        $("#"+label.id).text(result) 
    }
    

    可能是因为在测试函数中,您将标签的id
    textlab
    as
    testlabel
    拼写错误

    ?

    然后在实际代码中:

    success: function (result) {
        $('#label.id).text(result);
    }
    
    #label.id

  • 不是正确的jQuery选择器。它应该是
    “#textlab”
  • 它错过了闭幕式

  • 问题代码更改后更新

    这里面有个小故障

    success: function (result) {
        $("'#"+label.id+"'").text(result) 
    }
    
    应该是

    success: function (result) {
        $("#"+label.id).text(result) 
    }
    
    另外,要测试标签对象是否存在,可以添加

    success: function (result) {
        console.log(label); // DON'T FORGET TO REMOVE THIS LINE LATER BEFORE DEPLOYING
        $("#"+label.id).text(result) 
    }
    

    可能是因为在测试函数中,您将标签的id
    textlab
    as
    testlabel
    拼写错误

    ?

    然后在实际代码中:

    success: function (result) {
        $('#label.id).text(result);
    }
    
    #label.id

  • 不是正确的jQuery选择器。它应该是
    “#textlab”
  • 它错过了闭幕式

  • 嘿,如果你想更新包含链接的所有标签文本,请尝试此代码 我还更新了你的演示链接,请参考

    $('[id*="test"]').text("ddaadfa");
    

    如果您使用的是ajax,则必须在成功块中使用此代码来更改链接的文本

    success: function (result) {
        $('[id*="test"]').text("ddaadfa");
    }
    

    嘿,如果你想更新包含链接的所有标签文本,请尝试此代码 我还更新了你的演示链接,请参考

    $('[id*="test"]').text("ddaadfa");
    

    如果您使用的是ajax,则必须在成功块中使用此代码来更改链接的文本

    success: function (result) {
        $('[id*="test"]').text("ddaadfa");
    }
    

    只需添加一个console.log(label.id);在成功事件处理程序中查看label对象是否存在。$(“#”+label.id+“”)不正确:它应该是“#”+label.id--不带'--将字符添加到stringwhere should console.log(label.id)中?在
    success:function(result){
    --但字符串在$(…)是错误的,正如我在上面的评论中所说的,我尝试使用$(“#”+单击的_id)和$(“#”+label.id).文本(结果),仍然不工作,只需在成功事件处理程序中添加一个console.log(label.id);以查看label对象是否存在。$(“#”+label.id+”)不正确:应该是“#”+label.id--没有“--您将”字符添加到stringwhere should console.log(label.id)进入?在
    success:function(result){
    --但是$(…)中的字符串是错误的,正如我在上面的评论中所述,我尝试了$(“#”+clicked#u id)和$(“#”+label.id)。文本(result),仍然不起作用,但那是什么“*”用于?为什么在这种情况下我们需要使用[]?只是为了澄清所有标签都有不同的id,而不是相同的id如果我想在此上下文中使用label.id变量,我应该如何编写它?是$('[id*=“+label.id+”)?酷没有问题如果每个标签的id不同,请使用此代码$('label').text(“ddaadfa”);无论id是否相同,此代码都将更改所有标签文本。我会尝试,但“*”用于什么?在这种情况下为什么需要使用[]?只是为了澄清所有标签都有不同的id,而不是相同的id如果我想在此上下文中使用label.id变量,我应该如何编写它?它是$(“[id*=”+label.id+”])?酷无问题如果每个标签的ID不同,请使用此代码$('label')。文本(“ddaadfa”);此代码将更改所有标签文本,无论ID是否相同。