变量值未正确传递

时间:2017-08-31 08:50:01

标签: javascript jquery

我的网页上有一个复选框。根据复选框是否选中,变量 abc_test 需要更改为“wfOutput”“_ blank”

在初始加载时,变量的值为“wfOutput”,但由于某种原因,formTarget不会根据变量值对更改做出反应。如果我手动更改变量,一切正常,formTarget会收到正确的值。

<input id='runwindow' type='checkbox'>      

 var abc_test = "wfOutput";
 $("#runwindow").change(function() {
    if($(this).is(":checked")) {
        abc_test = "_blank";
        return;
    }
        abc_test = "wfOutput";
});

abc_test变量用于以下代码示例。

var ap = $("<div>").autoprompt(
{                   
  wfdInfo:xmlInfo,
  formTarget:abc_test,
}).autoprompt("instance");

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:4)

  

但由于某种原因,formTarget不会根据变量值对更改做出反应。

当你这样做时

var ap = $("<div>").autoprompt(
{                   
  wfdInfo:xmlInfo,
  formTarget:abc_test,
}).autoprompt("instance");

abc_test被读取并分配给初始化程序创建的对象的formTarget属性。之后对象属性和变量之间没有持续的连接;稍后更改abc_test对对象属性无效

您需要致电autoprompt以更新formTarget处理程序中的change选项。大多数插件都提供某种“更新”方法。