如何通过ajax更改元素中的文本?

Posted

技术标签:

【中文标题】如何通过ajax更改元素中的文本?【英文标题】:how to change the text in element via ajax? 【发布时间】:2012-10-12 18:48:12 【问题描述】:

我有一个下载按钮,点击后应该会更改元素跨度的文本,但我在 ajax 部分有问题

点击后会显示一个小按钮,文字不会改变

这是我的html

//somecode
    <span class="num">Downloaded:<?php echo $downloadcount;?></span>
     </td></tr>
     </table>
     </div>
<button type = "button" class="button" id="<?php echo $id; ?>" name="dl">
    <a href='./mp3/<?php echo basename($filename);?>'>Download</a>
</button>
         </td>
     </tr>
    </table>

这是我的 ajax:

    $(function() 
        $(".button").click(function() 
        
        var id = $(this).attr("id");
        var name = $(this).attr("name");
        var dataString = 'id='+ id ;
        var parent = $(this);
        if(name=='dl')
        
        $(this).fadeIn(200).html('<img src="dot.gif" align="absmiddle">');
        $.ajax(
           type: "POST",
           url: "download_number.php",
           data: dataString,
           cache: false,

           success: function(html)
           
//THE PROBLEM IS HERE
            $(".num").text(html);

            );

        
        );
        );

我也试过$(".num").html(html);

【问题讨论】:

点击后会显示一个小按钮,文字不会改变 执行 alert(html) 或 console.log(html) 会得到什么? 它没有显示我现在尝试的警报框 download_number.php 文件中有什么内容? @nikparsa:那么success 回调没有运行。试试error 而不是success 【参考方案1】:

您不应该在&lt;button&gt; 中添加&lt;a&gt; - 链接将胜过按钮操作 [see fiddle]。

除此之外,您的代码似乎是正确的。

【讨论】:

但我想下载我的文件删除会丢失我的文件 那你为什么需要一个链接和一个按钮呢?坚持一个,你就完成了^^ 好的,我认为您需要它来进行统计 - 不是通过 vanilla apache 提供文件,而是通过 PHP 处理它们,保存您的统计数据,然后转发二进制 mp3 数据。 点击按钮时我希望用户下载文件并使用ajax同时更新下载数 我不知道香草?!我正在使用 wamp apache,整个都是 php 你是什么意思?【参考方案2】:

把数据串改成这个

var dataString = "'id'="+ id+"" ;  

并添加datatpe json...这样做可能会起作用....只是猜测

datatype:'json', 
  success: function(html)
               
               alert(html);
               // First see...what u r getting in response and then move forward

               

【讨论】:

它什么也没显示,一秒钟后显示我的文件准备好下载 数据串肯定没有问题

以上是关于如何通过ajax更改元素中的文本?的主要内容,如果未能解决你的问题,请参考以下文章

Ajax表单提交我想通过id更改表单元素的值,以便脚本从php中的返回值进行下一次调用

实时求和每次更改以及如何使用 ajax php mysql 处理它

如何通过 AJAX 将 Jquery 可拖动 UI 与 mysql 连接

AJAX上传文件和文本不起作用

如何通过matplotlib TextBox小部件中的代码更改文本

如何更改上传器(ajax)中的 obj 值?