【问题标题】:javascript: missing : after property idjavascript:缺少:在属性 ID 之后
【发布时间】:2011-04-13 06:10:20
【问题描述】:

我正在尝试传递我自己的对象数组:results[num_row] = {'title:\'' + title + '\', ' + 'url:\'' + url + '\''};

但这会在 firebug 中返回错误

当我尝试时:results[num_row] = {title:'Link A', url:'/page1'}

它有效。

谢谢,

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <link rel="stylesheet" href="styles.css" type="text/css" />
  <script type="text/javascript" src="jquery.js"></script>
  <script type="text/javascript" src="jquery.autocomplete.js"></script>
<script type="text/javascript">
var test = ["a","b","ab"];
var results = new Array();
function prep(){
$("#searchbox").autocomplete(results,{
  formatItem: function(item) {
    return item.title;
  }
}).result(function(event, item) {
  location.href = item.url;
});
}
$(document).ready(function(){
                $.ajax({
                    type: "GET",
                    url: "links2.xml",
                    dataType: "xml",
                    success: function(xml) {
                        // Count elements
                        var count = $(xml).find('ROW').length;
                        // Create Array of correct length
                        //window.results = new Array(count);
                        // Set array variable
                        var num_row = 0;
                        //data string
                        var datastring = "";
                        //start of find block
                        $(xml).find('ROW').each(function() {
                            var title = $(this).find('SC_DF_FIELD_1').text();
                            var url = $(this).find('SC_DF_FIELD_2').text();
                            var support_url = $(this).find('SC_DF_FIELD_3').text();
                            var description = $(this).find('SC_DF_FIELD_4').text();
                            var contacts = $(this).find('SC_DF_FIELD_5').text();
                            //clean up xml variables
                            url = url.substring(url.indexOf('>') + 1, url.indexOf('/a') - 1);
                            support_url = support_url.substring(support_url.indexOf('>') + 1, support_url.indexOf('/a') - 1); /*need to clean up contacts search later */

                            //alert(title + '\t' + url + '\t' + support_url + '\t' + description + '\t' + contacts);
                            results[num_row] = {'title:\'' + title + '\', ' + 'url:\'' + url + '\''};
                            //results[num_row] = title;
                            //results[num_row] = {text:'Link A', url:'/page1'}
                            num_row++

                          //  $('<div class="items"></div>').html('<a href="' + url + '">' + title + '</a>').appendTo('#page-wrap');
                        });
                        //end of find block
                        prep();
                    }
                });
});
</script>
</head>
<body>
    <div id="page-wrap">
<FORM autocomplete="off"><INPUT id="searchbox" type="text"/>
</FORM></DIV>
</body>
</html>

【问题讨论】:

    标签: javascript jquery arrays autocomplete


    【解决方案1】:

    这给了你一个SyntaxErrorObject initializer 语法不能这样工作。

    如果您想在新对象中使用titleurl 变量,您可以轻松:

    //...
    results[num_row] = {'title': title , 'url': url};
    //...
    

    【讨论】:

    • 我是个笨蛋……谢谢!我还想添加我所拥有的附加值:results[num_row] = {'title': title, 'url': url, 'support_url': support_url, 'description': description, 'contacts': contacts};
    【解决方案2】:

    基本上在你写作的时候

    {'title:\'' + title + '\', ' + 'url:\'' + url + '\''}
    

    您正在尝试设置

    的值
    results[num_row]
    

    等于一个不完整的对象

    { PropertyName }
    

    当你需要时

    { PropertyName : PropertyValue }
    

    【讨论】:

      【解决方案3】:

      试试

      results= [];
      num_row = 0;
      title = "myTitle";
      url = "myURL";
      results[num_row] = {'title': title, 'url': url}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-07
        • 1970-01-01
        • 1970-01-01
        • 2011-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-24
        相关资源
        最近更新 更多