如何在jquery中组合两个变量

时间:2012-07-06 13:44:16

标签: javascript

我有两个变量,如:

<script language="javascript" type="text/javascript">
    var count = 1;
    calc_my_project_ + count = Math.round( count * 268 / 100); // It shoud be calc_my_project_1 and next time it shoud be calc_my_project_2

    count += count + 1;
</script>

现在结果是calc_my_project_ + count。我怎么能这样做?

编辑:这是我的主要代码:

<script language="javascript" type="text/javascript">
    var count = 1;
    var str = 'calc_my_project_';
    var str2 = 'my_pro_';
    var result = str + count;
    result = Math.round( @Html.DisplayFor(x => item.ProgressPercent) * 268 / 100);
    var secresult = str2 + count;
    secresult = "-" + result + "px 0";

    var jq3 = jQuery.noConflict(); 
    jq3(document).ready(function () {
        jq3("#bar-pro-@barcount1st").css({ "background-position": secresult });
        if (@Html.DisplayFor(x => item.ProgressPercent) == 100) {
            jq3("#bar-pro-@barcount1st").css({ "background-image": "none" });
            jq3("#bar-pro-@barcount2st").css({ "background-image": "none" });
        };
    });
    count++;
</script>

结果和secresult返回一个固定值我不想这样。

5 个答案:

答案 0 :(得分:1)

你可以这样做:

var myObj = {};
myObj['my_project_' + count] = 'some value';

count++;

答案 1 :(得分:0)

您可以将calc_my_project_变量存储在一个数组中,每次迭代它

obj = new Array(calc_my_project_1, calc_my_project2, ...);
obj[0] = 1;
obj[1] = 2;
...

答案 2 :(得分:0)

尝试这样的事情

<script language="javascript" type="text/javascript">
    var count = 1;
    var str = 'calc_my_project_';

    var result = str + count = Math.round( count * 268 / 100); 

    count += count + 1;
</script>

答案 3 :(得分:0)

使用array

var myCount = new Array();
var count = 0;
$("#click").click(function() {
   myCount[count] = Math.round( count * 268 / 100);
    console.log(count + ' - ' + myCount[count]);
    count++;
});​

小提琴:http://jsfiddle.net/johnkoer/yyakv/1/

答案 4 :(得分:0)

如果要设置“全局”变量,可以使用全局变量容器窗口:

window["calc_my_project_"+ count ] = Math.round( count * 268 / 100);

或者你可以使用eval,但涉及的风险更大:

eval ("calc_my_project_"+ count +"= Math.round( count * 268 / 100)") ;

否则,如果您不需要全局变量,您可以使用 Baszz 提供的解决方案