2017-06-12 108 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'>