【问题标题】:How to pass JavaScript / JQuery variable to <TD>如何将 JavaScript / JQuery 变量传递给 <TD>
【发布时间】:2019-02-09 12:30:45
【问题描述】:

我正在尝试获取 JavaScript/JQuery 变量的值并将其存储在表 TD 值中但没有成功...

到目前为止尝试过......

$("#someID").text(varNAME) / html(varNAME);

document.getElementById("someID").innerHTML = varNAME; 

document.querySelector("#someID").onclick=function() {
    document.querySelector('#someOtherID').textContent = document.getElementById('some_other_ID').value;
}

我的代码---

<td id="userName"></td>

JS 变量--

var assign_user123 = MyApp.optionvalue123;
    alert(assign_user123);  /*i get value in alert box*/ 

MyApp 是全局函数,optionvalue123 来自其他函数

编辑----

从这里,我正在获取用户名

<select title="" class="form-control" name="user" id="user" onchange="getValue(this)">
    <option value="">Select User to Assign</option>
    <?php foreach ($user as $row): ?>
        <option value="<?php echo $row->id; ?>"><?php echo $row->first_name . ' ' . $row->last_name; ?></option>
    <?php endforeach; ?>
</select>

JavaScript 函数---

 var MyApp = {};

function getValue(sel) {
    MyApp.optionvalue2 = sel.value;

    var optionvalue = sel.value;
    alert(optionvalue);

    MyApp.optionvalue123 = (sel.options[sel.selectedIndex].text);
    alert(optionvalue123);       
} 

下面的JS函数正在调用的按钮...

<button name="leads" id="leads" class="btn btn-xs btn-danger" onclick="user_leads('passing some parameters for ajax'); "> Assign </button>

function user_leads('some_parameters to call in ajax') {

    var assign_user = MyApp.optionvalue2;
    alert(assign_user);  /*i get value in alert box...*/

    var assign_user123 = MyApp.optionvalue123;
    alert(assign_user123);  /*i get value in alert box...*/

    Didn't work /*$('#userName').html(assign_user123);*/

    Didn't work /* $('#userName').text($('#user').text(assign_user123));*/

    Didn't work /* $('#userName').text(assign_user123);*/

    Didn't work //document.getElementById("userName").innerHTML = assign_user123;

    $.ajax({
        /*Some Ajax function to post data*/
    });
}

并且在控制台中,没有错误或警告...

【问题讨论】:

  • 你需要这个吗=> document.querySelector('#userName').textContent = assign_user123
  • 在 jquery $('#userName').text(assign_user123)
  • 我试过但没用
  • 您是否正在考虑处理异步调用,因为您的变量正在从不同的函数中更新?如果函数没有从网络获取数据,那么您可能需要重新查看代码执行流程。
  • 请提供minimal reproducible example,您所拥有的基础知识应该起作用。通过将问题重现到其最小版本,您可以更轻松地为每个人进行调试。有几件事要检查UserName 必须是独一无二的。还有你在控制台中得到什么 console.log($('#userName'));console.log($('#userName').length); ?这应该会告诉您是否找到了目标以及 id 是否是唯一的。

标签: javascript jquery html variables


【解决方案1】:
document.querySelector('#someOtherID').textContent = document.getElementById('some_other_ID').value;

首先,JS 在历史上没有可分配的属性(原始值除外)。而你要的方法是text()

试试

$('#someOtherID').text("new value");

(使用 jQuery 的 CSS 选择器快捷方式。)

对于被赋值的值

document.getElementById('some_other_ID').value

除非#some_other_ID 是输入元素(具有value 属性),否则您需要再次使用text()(不带参数它返回当前文本内容):

 $('#someOtherID').text($('#some_other_ID').text());

【讨论】:

  • @user9972185 正在编辑看到您对 Q 的评论
  • @user9972185 “它不起作用”没有帮助。请在问题中添加您尝试过的新代码以及发生了什么(例如错误消息)。使用浏览器的调试器单步执行代码会显示什么吗? (对于后者,将中间值放入局部变量会有所帮助。)
【解决方案2】:

你可以像编辑 td 的 innerHTML

$('#userName').html(assign_user123);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-24
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2012-02-21
    • 2016-10-13
    • 1970-01-01
    相关资源
    最近更新 更多