如何在文本框中显示传递给函数的结果

时间:2019-06-10 14:10:06

标签: javascript jquery

我有一个函数,可以从数据库中检索数据并将其返回给函数。我试图从结果中获取收入值,以显示在文本框中。

这是我尝试过的。

function Display(result) // result gets passed
{
 var income= $('#Income'); //getting the textbox;
income.value=result.Income  // when i try this result.Income,Income comes back as undefined.
 }

如何将结果中的值显示在文本框中? 这就是传递给Display函数的“结果”的外观。因此,理想情况下,“收入”的值为“工资”,因此应在文本框中显示工资。

{
ID: 0
Number: 520
OtherIncome: "Private"
Income: "Salary"
}
This is my HTML
<input type="text" name="Income" id="Income" class="text ui-widget-content ui-corner-all" value="">

3 个答案:

答案 0 :(得分:1)

var json = {
  ID: 0,
  Number: 520,
  OtherIncome: "Private",
  Income: "Salary",
}

function Display(result) // result gets passed
{
  var income = $('#Income'); //getting the textbox;
  income.val(result.Income) // when i try this result.Income,Income comes back as undefined.
}
  
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="Income" id="Income" class="text ui-widget-content ui-corner-all" value="">
<button onClick="Display(json)">Click</button><br>
Click the button to set the textbox value.

尝试使用income.val(result.Income)设置文本框的值。在这里,我使用按钮单击事件来生成示例。

答案 1 :(得分:1)

function Display(result) {
  var income = $('#Income'); //getting the textbox;
  //income.value=result.Income  here use the .val() method
  income.val(result.Income);
}

文档: http://api.jquery.com/val/

答案 2 :(得分:0)

让我们解释一下您的代码


var json = {
  ID: 0,
  Number: 520,
  OtherIncome: "Private",
  Income: "Salary",
}

function Display(result) // result gets passed
{
  var income = $('#Income'); //getting the textbox;
  income.val(result.Income) // when i try this result.Income,Income comes back as undefined.
}

您有一个存储在variable json中的数据对象。然后是一个带有参数的函数Display(param)。然后在您的函数中,您尝试访问empty参数。参数结果是一个变量,尚未定义。因此,实际上它的值是undefined。因此,为什么在调用display时不传递任何参数而得到未定义的原因。假设您在函数调用中传递了有效参数,那么您将获得正确的结果。

示例:


var json = {
  ID: 0,
  Number: 520,
  OtherIncome: "Private",
  Income: "Salary",
}


//invoke you function with the json data
Display(json)
//this should work perfectly.


//you can even remove the function and just make it

var income = $('#Income'); 
 income.val(json.Income);

//But you only do this if you want to get the value once