jQuery中的全局变量
我一直在编写以下脚本:jQuery中的全局变量,jquery,global-variables,global,Jquery,Global Variables,Global,我一直在编写以下脚本: <script type="text/javascript" src="/js/jquery.js"></script> <script type="text/javascript"> $(function(){ compentecy = $('#competency_id'); $('#add_competency').bind('click', function(e){ e.preventDefaul
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript">
$(function(){
compentecy = $('#competency_id');
$('#add_competency').bind('click', function(e){
e.preventDefault();
$.post('/script.php', {competency_id: compentecy.val(), syllabus_id: 2}, function(){
// competency = $('#competency_id');
competency.children('option[value=' + compentecy.val() + ']').remove();
});
});
});
</script>
$(函数(){
薪酬=$(“#能力"id”);
$('add#u competency')。绑定('click',函数(e){
e、 预防默认值();
$.post('/script.php',{competency\u id:compentecy.val(),教学大纲\u id:2},函数(){
//能力=$(“#能力_id”);
competency.children('option[value='+compentecy.val()+']').remove();
});
});
});
在$.post回调函数中,似乎无法访问全局变量。我试过了,但没用。我总是会出现“能力未定义”的错误。我不得不在回调中再次初始化变量。有没有办法不重新初始化回调中的变量?您可以这样使用:
$.post('/script.php', {competency_id: compentecy.val(), syllabus_id: 2},
$.proxy(function(){
this.children('option[value=' + this.val() + ']').remove();
}, compentecy)
);
让您确定回调中的是什么,仅适用于以下情况:)您可以这样使用:
$.post('/script.php', {competency_id: compentecy.val(), syllabus_id: 2},
$.proxy(function(){
this.children('option[value=' + this.val() + ']').remove();
}, compentecy)
);
让您确定回调中的是什么,仅适用于以下情况:)OMG。我想这是那种日子。变量的拼写不正确:POMG。我想这是那种日子。变量的拼写不正确:P
虽然不理想,但应该可以。这是整个脚本,还是你在这里省略了部分?虽然不是很理想,但应该可以。这是整个剧本,还是你省略了部分?很高兴你发现了它。:)顺便说一句,您应该首先用var-capability=$(“#capability_-id”)声明变量
将作用域限制在函数及其嵌套函数内,否则它将附加到全局窗口。很高兴您发现了它。:)顺便说一句,您应该首先用var-capability=$(“#capability_-id”)声明变量
将作用域限制在函数及其嵌套函数内,否则它将附加到全局窗口
。