Вы попробовали Автоматический Генератор Make-файла ?
Это поддерживает для следующих компиляторов:
Borland 3.1 Borland 5.0 Borland 5.0, 16 bit Borland 5.5 Borland 5.6 Borland 5.8 CC Gnu g++ Gnu g++, dynamic library Intel 5, 6, 7 for Linux Intel 5, 6, 7 for Linux, dynamic library Intel 5, 6, 7 for windows Intel 8,9,10 for Linux Intel 8,9,10 for Linux, dynamic library Intel 8,9 for windows Intel 10 for windows Visual C++ 5 Visual C++ 6, 7, 7.1 Visual C++ 8 Open Watcom Watcom 10A Watcom 10A, 16 bit
Вы можете использовать document.getElementsByName ()
, передав имя радиогруппы, затем переберите их, проверяя атрибут checked
, например, что-то вроде:
function getCheckedValue( groupName ) {
var radios = document.getElementsByName( groupName );
for( i = 0; i < radios.length; i++ ) {
if( radios[i].checked ) {
return radios[i].value;
}
}
return null;
}
Используйте document.getElementsByName () - это краткий ответ на заданный вами вопрос.
Однако может быть лучше сделать что-то вроде этого:
<form name="formFoo">
Foo: <input type="radio" name="groupFoo" value="foo" checked> <br />
Bar: <input type="radio" name="groupFoo" value="bar"> <br />
Baz: <input type="radio" name="groupFoo" value="baz"> <br />
<input type="submit" >
</form>
Затем используйте JavaScript:
function getRadioValue(formName, groupName) {
var radioGroup = document[formName][groupName];
for (var i=0; i<radioGroup.length; i++) {
if (radioGroup[i].checked) {
return radioGroup[i].value;
}
}
return null;
}
Делая это, вы избегаете использования функции, которая выполняет поиск по всему документу. Он просто ищет сначала форму, а затем в этой форме элементы управления с тем же именем. Проблема здесь в том, что если бы у вас был флажок в середине формы с тем же именем, он мог бы быть возвращен вместо правильного значения радио. Если был добавлен другой тип элемента управления с тем же именем, это могло вызвать ошибку. Оба эти обстоятельства, вероятно, следует рассматривать как ошибку программиста, но не повредит, если функция будет расширена для их проверки при некоторой потенциальной потере производительности. Просто измените строку:
if (radioGroup[i].checked) {
на:
if (radioGroup[i].type=='radio' && radioGroup[i].checked) {
var options = document.getElementsByName('myRadioButtons');
for(i = 0; i < options.length; i++)
{
var opt = options[i];
if(opt.type=="radio")
{
if(opt.checked)
{
}
}
}
Я хочу получить ответ jQuery
var selectedValue = $("input[name='radio_name']:checked").val();
<form name="myForm" id="myForm" action="">
<input type="radio" name="radioButton" value="c1">Choice 1
<input type="radio" name="radioButton" value="c2">Choice 2
</form>
<script>
var formElements = window.document.getElementById("myForm").elements;
var formElement;
var radioArray = [];
for (var i = 0, j = 0; i < formElements.length; i++) {
formElement = formElements.item(i);
if (formElement.type === "radio" && formElement.name === "radioButton") {
radioArray[j] = formElement;
++j;
}
}
alert(radioArray[0].value);
alert(radioArray[1].value);
</script>