javascript - 单击时的 Jquery 未获取 textarea 的更新值

标签 javascript php jquery html

好的,所以我正在尝试获取从 jquery 动态添加的文本区域的值。但它似乎总是得到它的默认值。

代码如下:

jQuery:

$(document).on('click', '.savechanges',function(e){
    e.preventDefault()
    var rowid = $(this).attr('data-id');
    var text = $(".textbox-" + rowid).val();
    var datum = $("#date").val();

    $.ajax({
        type : 'post',
        url : 'php/savechanges.php',    //Here you will fetch records 
        data :  'rowid='+ rowid + "&date=" + datum + "&text=" + text,     //Pass $id
        success : function(data){
          alert('Dina ändringar har blivit sparade!');
        }
    });
});

HTML:

<div class="form-group">
  <label for="text">Ändra din text för denna dag</label>
  <textarea class="form-control textbox-<?php echo $singleRow['id'];?>" name="textruta" id="text">.
    <?php echo $singleRow['textruta'];?>
  </textarea>
</div>
<button type="button" class="btn btn-block btn-success savechanges" data-dismiss="modal" data-id="<?php echo $singleRow['id'];?>">
  Spara ändringar
</button>

所以这里的问题是 $(".textbox-"+ rowid).val() 总是获取由 jQuery 添加的值,而不是更新版本。

如有任何帮助,我们将不胜感激。

最佳答案

我在我的服务器上创建文件 index.php 并创建此代码

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<?php
 $singleRow['id'] = 1;
 $singleRow['textruta'] = "test";
?>
<div class="form-group">
  <label for="text">Andra din text for denna dag</label>
  <textarea class="form-control textbox-<?php echo $singleRow['id'];?>" name="textruta" id="text"><?php echo $singleRow['textruta'];?></textarea>
</div>
<input type="text" id="date" value="05/04/2017"/>
<button type="button" class="btn btn-block btn-success savechanges" data-dismiss="modal" data-id="<?php echo $singleRow['id'];?>">
  Spara andringar
</button>
<script>

$(".savechanges").on('click',function(e){
    e.preventDefault()
    var rowid = $(this).data('id');
    var text = $(".textbox-" + rowid).val();
    var datum = $("#date").val();
console.log("start");
    $.ajax({
        type : 'post',
        url : '/seo-service/ajax/savechanges.php',    //Here you will fetch records 
        data :  'rowid='+ rowid + "&date=" + datum + "&text=" + text,     //Pass $id
        success : function(data){
            console.log(data);
          alert('Dina andringar har blivit sparade!');
        }
    });
});

</script>

在此之后我创建新文件“savechanges.php”

    <?php

var_dump($_POST);

?>

一切正常。希望这个例子对你有帮助

关于javascript - 单击时的 Jquery 未获取 textarea 的更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43202375/

相关文章:

php - 如何存储动态本地化字符串

java - 使用 php 单击提交按钮

javascript - 使用chartjs的getContext错误

javascript - jQuery ui slider 错误的 ui 值

javascript - 在立即执行的函数中获取 "event"对象?

PHP MYSQL 查询 AS 更大的问题

javascript - 交换字体中的淡入/淡出很棒的图标

jquery - 以编程方式创建 jQuery Promise 的链式序列

javascript - 如何制作一个执行事件的函数点击jquery

javascript - Firestore 执行 get 命令 super 慢