1

我有一个下拉列表(HTML Select 标记)和一个 HTML 表单。如下 -

选择->

<select name="select-native-1" id="select-native-1" onChange="dbToForm(this)">
          <option value="1">Employee 1</option>
          <option value="2">Employee 2</option>
          <option value="3">Employee 3</option>
          <option value="4">Employee 4</option>
        </select>

表格 ->

<form>
        <label for="e_name">Name</label>
        <input name="e_name" id="e_name" value="" type="text" data-theme="a">
        <label for="date">Date</label>
        <input name="date" id="date" value="" type="date" data-theme="a">
        <label for="gender">Gender</label>
        <select name="gender" id="gender" data-role="slider" data-theme="a" data-inline="true">
          <option value="male">Male</option>
          <option value="female">Female</option>
        </select>
        <label for="address">Address</label>
        <textarea name="address" id="address" value="" type="text" data-theme="a"></textarea>
        <br>
        <br>
        <label for="image">Add Image</label>
        <input name="image" id="image" value="" type="file" data-theme="a">
        <br>
        <br>
        <label for="multimedia">Add Multimedia</label>
        <input name="multimedia" id="multimedia" value="" type="file" data-theme="a">
        <br>
        <br>
        <input value="Submit" data-role="button" type="submit">

当我从 Select 标记中选择一个值时,预期的功能是根据所选项目的 ID 从数据库中检索值。我在嵌入在 JS 函数中的 PHP 的帮助下进行此检索。

Javascript -->

function dbToForm(id) {
var id_val = id.value;
var name = '';
var url = "http://localhost:81/PG_crud_experiment1/retrieve.php?id="+id_val; 
$.getJSON(url, function(json) {
               $.each(json, function(i,v) {    

                 name += v.name;   
                 alert (name);

                });
                         $("#e_name").html(name);   
       });

};

在这里,我能够从数据库中获取值到我的 JS 函数并将其存储在一个变量中。该变量必须被推送到我的 HTML 表单字段。 #e_name是一个<input>标签,我无法在该字段中显示检索到的值。有一个<textarea>并且值在那里打印没有任何问题。

这是<input>标签的限制吗?如果是,什么可以用作标签的替代品?

请注意:检索到我的表单中的值用于编辑和更新目的。即表格中填充的值可以编辑并更新到数据库中。

4

3 回答 3

5

输入标签没有 HTML,它们有值。

$("#e_name").val(name);

.html()用于填充 和 之间的<tag>元素</tag>。输入没有这样的匹配标签,那么 HTML 会去哪里呢?

于 2013-05-02T11:21:25.203 回答
3

你需要使用.val()

$("#e_name").val(name);

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

于 2013-05-02T11:21:43.493 回答
2

Textarea 的工作方式与其他输入控件不同。改用这个:

$("#e_name").val(name)
于 2013-05-02T11:21:51.940 回答