Javascript列表框填充不工作

Javascript列表框填充不工作,javascript,jquery,Javascript,Jquery,它需要在IE中工作,如果这很重要的话。这应该是基于列表框中的选择填充表格单元格。稍后,我会将照片更改为一些HTML,将他们的图片添加到框中 HTML: 这在任何浏览器中都有效吗?数据是否来自外部来源?如果没有,则需要将数据绑定到变量。它在任何浏览器中都不起作用。数据也不是来自外部来源。您能解释一下“将数据绑定到变量”吗?谢谢您的帮助。如果您在本地声明数据对象,请确保数据是一个变量,并且在末尾有一个分号。否则,如果它是一个外部数据源,请在函数中尝试.parseJSON(data.contacts.

它需要在IE中工作,如果这很重要的话。这应该是基于列表框中的选择填充表格单元格。稍后,我会将照片更改为一些HTML,将他们的图片添加到框中

HTML:


这在任何浏览器中都有效吗?数据是否来自外部来源?如果没有,则需要将数据绑定到变量。它在任何浏览器中都不起作用。数据也不是来自外部来源。您能解释一下“将数据绑定到变量”吗?谢谢您的帮助。如果您在本地声明数据对象,请确保数据是一个变量,并且在末尾有一个分号。否则,如果它是一个外部数据源,请在
函数中尝试
.parseJSON(data.contacts.contact)
。每个
函数都是这样的:var data={“contacts”:{“contact”:[{“name”:“Payroll”,“photo”:“Emp 1照片”、“电子邮件”:emp1@usa.com,“电话”:“4113834848”},{“姓名”:“税务”,“照片”:“Emp 2照片”,“电子邮件”:emp2@usa.com,“电话”:“4113834848”},{“姓名”:“应付账款”,“照片”:“Emp 3照片”,“电子邮件”:emp3@usa.com,“电话”:4113834848“},]};是的,应该可以。
<script src="garver_contact.js" type="text/javascript"></script>
<table class="table table-bordered table-striped">
    <tr>
        <th>
            <select class="col1 selectTopic">
                <option>Payroll</option>
                <option>Tax</option>
                <option>Accounts Payable</option>
            </select>
        </th>
    </tr>
    <tr>
        <td class="col1 name"></td>
    </tr>
    <tr>
        <td class="col1 photo"></td>
    </tr>
      <tr>
        <td class="col1 email"></td>
    </tr>
      <tr>
        <td class="col1 phone"></td>
    </tr>
</table>
<script src="contact.js" type="text/javascript"></script>
data = {
    "contacts":
{
    "contact": [
{
    "name": "Payroll",
    "photo": "Emp 1 Photo",
    "email": "emp1@gusa.com",
    "phone": "4113834848"
},
{
    "name": "Tax",
    "photo": "Emp 2 Photo",
    "email": "emp2@usa.com",
    "phone": "4113834848"
},
{
    "name": "Accounts Payable",
    "photo": "Emp 3 Photo",
    "email": "emp3@usa.com",
    "phone": "4113834848"
},
    ]
}
}

$(".selectTopic").change(function () {
    var jthis = $(this);
    var whichCol;
    if (jthis.hasClass("col1")) {
        whichCol = "col1";
    }
    $.each(data.contacts.contact, function (i, v) {
        if (v.name == jthis.val()) {
            $("td." + whichCol + ".name").html(v.name);
            $("td." + whichCol + ".photo").html(v.photo);
            $("td." + whichCol + ".email").html(v.email);
            $("td." + whichCol + ".phone").html(v.phone);
            return;
        }
    });
});