JQuery将actionlink添加到div

时间:2013-12-19 14:59:14

标签: javascript jquery

//code
 $(document).on("click", ".open-chartModal", function () {
    var spNames = $(this).data('id');
    $("#spNames").val(spNames);

    var separated = spNames.split(";");

    for (var i = 0, length = separated.length; i < length; i++) {
            var chunk = separated[i];

            $('#options').append('<li>@Ajax.ActionLink("Chart", "Chart", 
            new { spName = "'+ chunk +'"   }, new AjaxOptions { }) </li>')

     }
   });

以上是将'chunk'作为字符串而不是变量。我想把spNames = var chunk。不知道单引号是否在正确的位置。

2 个答案:

答案 0 :(得分:1)

试试这个

var url = '@Ajax.ActionLink("Chart", "Chart",  new { spName = "-1"   }, new AjaxOptions { })';
$('#options').append('<li>' + url.replace('-1', chunk )+ '</li>')

由于@Ajax.ActionLink将由剃刀呈现。您无法传递JavaScript变量。

您可以添加占位符值&amp;用变量替换它。

答案 1 :(得分:0)

我想你想要这个:

for (var i = 0, length = separated.length; i < length; i++) {
            var chunk = separated[i];

            $('#options').append('<li>@Ajax.ActionLink("Chart", "Chart",' +
            'new { spName = "'+ chunk +'"   }, new AjaxOptions { }) </li>')

}

你的换行符破坏了你的字符串文字。需要关闭它并明确连接。