Вы можете добиться этого, используя jQuery, как показано ниже.
Использование jQuery =>
$(function(){
$('input[type="radio"]').click(function(){
if ($(this).is(':checked'))
{
if( $(this).val()=='4' )
{
$("#uploadtext").text("Editor");
}
else
{
$("#uploadtext").text("File");
}
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<div class="form-group">
<label for="inputPassword3" class="col-sm-3 control-label">Register As<sup style="color:red">*</sup></label>
<div class="col-sm-7">
<label class="radio-inline">
<input type="radio" checked name="noaUserType" id="inlineRadio1" value="3"> Contributor
</label>
<label class="radio-inline">
<input type="radio" name="noaUserType" id="inlineRadio2" value="4"> Editor
</label>
</div>
</div>
<span id="noaSpanRegFileDivs">
<div id="noaDivRegFile_1" class="form-group">
<label for="inputPassword3" class="col-sm-3 control-label">Upload <span id="uploadtext">File</span><sup style="color:red">*</sup></label>
</div>
</span>
Практически все в javascript является объектом, поэтому вы можете «злоупотреблять» объектом Array , задав ему произвольные свойства. Однако это следует считать вредным . Массивы предназначены для данных с числовой индексацией - для нечисловых ключей используйте Object.
Вот более конкретный пример, почему нечисловые ключи не «подходят» к массиву:
var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";
alert(myArray.length);
Это не будет отображать '2' , но '0' - фактически, в массив не было добавлено никаких элементов, только некоторые новые свойства добавлены к объекту массива.
В JS-массивах объекты, только слегка измененные (с несколькими дополнительными функциями).
Такие функции, как:
concat
every
filer
forEach
join
indexOf
lastIndexOf
map
pop
push
reverse
shift
slice
some
sort
splice
toSource
toString
unshift
valueOf
Все в JavaScript - это объекты, кроме примитивных типов.
Код
var myArray = Array();
создает экземпляр объекта Array, а
var myObject = {'A': 'Athens', 'B':'Berlin'};
создает экземпляр объекта Object.
Попробуйте следующий код
alert(myArray.constructor)
alert(myObject.constructor)
Итак, вы увидите, что разница заключается в типе конструктора объекта.
Экземпляр объекта Array будет содержать все свойства и методы прототипа Array.
Нотация {}
- это просто синтаксический сахар, чтобы сделать код лучше; -)
JavaScript имеет много похожих конструкций, таких как построение функций, где function ( ) является просто синонимом для
var Func = new Function("<params>", "<code>");