2017-06-12 179 views
1

设置一个JavaScript变量全局

$(document).ready(function() { 
 
    window.buttonType = ''; 
 

 
    $("#inlineRadio8").click(function() { 
 
    window.buttonType = 'checkbox'; 
 

 
    }); 
 

 
    $("#inlineRadio9").click(function() { 
 
    window.buttonType = 'radio'; 
 
    }); 
 
}); 
 

 
document.write("<input type=window.buttonType name='inlineRadioOptions' id='inlineRadio1' value='Hockey'> ");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="radio" name="chk2" id="inlineRadio8" value="val2" class="hidden" autocomplete="off"> 
 

 
<input type="radio" name="chk1" id="inlineRadio9" value="val1" class="hidden" autocomplete="off">

有基于按钮点击两粒扣希望交换的输入类型。 也就是说,如果这个(#inlineRadio8)被点击超过输入类型应该转换到别的复选框,如果inlineRadio9是inovked然后转换为无线电类型

这window.buttonType应,即在页面上availble的,如果我按一下按钮inlineRadio8这个变量有价值'复选框'如果我点击inlineRadio9这应该有价值'收音机'

如何实现相同。

+2

您的代码似乎是正确的,有什么问题你得到 – Rahul

+0

定义变量您的document.ready外... – hallleron

+2

@hallleron'window.buttonType '在窗口范围内定义,所以它已经是全球性的 – R3tep

回答

1

对此,您不需要全局变量。只需在点击上更改输入类型即可。

像:

$(document).ready(function() { 
 
    $("#inlineRadio8").on('click', function() { 
 
    $("#inlineRadio1").prop('type', 'checkbox'); 
 

 
    }); 
 

 
    $("#inlineRadio9").on('click', function() { 
 
    $("#inlineRadio1").prop('type', 'radio'); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="radio" name="chk1" id="inlineRadio8" value="val2" class="hidden" autocomplete="off"> 
 

 
<input type="radio" name="chk1" id="inlineRadio9" value="val1" class="hidden" autocomplete="off"> 
 

 
<input type='hidden' name='inlineRadioOptions' id='inlineRadio1' value='Hockey'>