javascript如何动态更新变量

时间:2012-08-05 06:59:25

标签: javascript jquery

我有一个触发函数来更改值的html表单,引用:http://jsfiddle.net/ZvuMh/3/ 如何在另一个函数中动态使用avalue

HTML:

<select id="sort_post_date">
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
    <option value="d">d</option>
    <option value="e">e</option>
    <option value="f">f</option>    
</select>​

更改值功能:

    var avalue='';
function getSelectData(id) {


    // set value to be the current selected value
    avalue = jQuery(id+" option:selected").val();

    // change value whenever the box changes
    jQuery(id).change(function () {
        avalue = jQuery(id+" option:selected").val();
        console.log("I see a change! -> "+avalue);
    });

    console.log(avalue);
    return avalue;
}

var d = getSelectData("#sort_post_date");
console.log(d);​

当函数getSelectData将其更改为另一个字母时,想要继承avalue的另一个函数:

function somefunction(){
    var test = "foo"+avalue;
}

2 个答案:

答案 0 :(得分:2)

为什么不直接这样调用它,这样,每次字母更改时都会调用somefunction

// change value whenever the box changes
jQuery(id).change(function () {
    avalue = jQuery(id+" option:selected").val();
    console.log("I see a change! -> "+avalue);
    somefunction(avalue);
});

function somefunction(avalue){
    var test = "foo"+avalue;
}

答案 1 :(得分:1)

使用该变量的全局范围,例如window.avalue = 'value',并使用window.avalue

访问该变量