【问题标题】:function returning undefined when passing variable value to TaffyDB query将变量值传递给 TaffyDB 查询时返回未定义的函数
【发布时间】:2014-12-11 08:56:57
【问题描述】:

通过创建与 TaffyDB 集成的基本应用程序来练习一些 JS。它存储医疗代码。我已尝试寻找解决方案,但似乎无法正常工作。

目标:单击按钮时,调用 JS 函数,将 innerHTML 值传递给 TaffyDB 查询,该查询通过“代码”进行搜索。然后它用该代码的描述来提醒()用户。

问题:调用函数时,我不断收到“未定义”。

TaffyDB sn-p:

diagnosisCodes = TAFFY([
{code_id:'C001', code:'460', description:'Acute Nasopharyngitis(Common Cold)'},
{code_id:'C002', code:'708.2', description:'Urticaria Due to Cold and Heat'},
{code_id:'C003', code:'778.2', description:'Cold Injury Syndrome of Newborn'},
{code_id:'C004', code:'975.6', description:'Poisoning by Anti-Common Cold Drugs'},
]);

HTML sn-p:

<h2 class='code_categories' id='diagnosis_title'>Diagnosis Codes</h2>   
    <div id='diagnoses_COLD'>
        <h4 id='column_titles'>Cold-Related</h4>
            <button id='button' onclick="testing()">460</button>

JS函数:

function testing() {
//grab element value:
var obj = document.getElementById('button').innerHTML.value; 
//pass element value into TaffyDB query:
var dxDesc = diagnosisCodes({code:obj}).first().description;
//'alert' description of the code
alert(dxDesc);
}

此函数返回“未定义”。但是, var obj 被正确分配了一个字符串值。此外,在传递函数参数时查询工作正常。例如,此警报具有正确的描述:

function getDxDesc(name) {
var obj2 = diagnosisCodes({code:name}).first().description;
alert(obj2);
}

我的问题是让整个事情协调一致。

【问题讨论】:

  • .innerHTML.value 没有意义。 .innerHTML 是一个字符串,.value 用于获取&lt;input&gt;&lt;select&gt; 的值。
  • 删除了 .value 并且仍然得到“未定义”。我觉得查询读取 var obj 的方式存在问题。有什么想法吗?
  • 变量是变量,在第一个函数和第二个函数中读取它的方式没有区别。

标签: javascript function taffydb


【解决方案1】:

.value 用于获取用户输入的值。只需单独使用.innerHTML

var obj = document.getElementById('button').innerHTML; 

DEMO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 2017-02-21
    • 1970-01-01
    • 2018-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多