2014-10-10 2 views
0

Как изменить код, чтобы при выборе опции из первого выпадающего меню второе выпадающее меню становится редактируемым, иначе второе раскрывающееся меню должно быть только для чтения, а если опция в первом выпадающем меню «по умолчанию», тогда второе раскрывающееся меню должно быть только для чтения.Код Javascript не работает

<!DOCTYPE html> 
<html> 

<head> 
<script type="text/javascript"> 
function mySecondFunction() { 
    document.getElementById("mySelection").disabled = false; 
} 

</script> 

</head> 
<body> 

<form action=""> 
<select name="cars" onload="mySecondFunction()"> 
<option value="default">default</option> 
<option value="saab">Saab</option> 
<option value="fiat">Fiat</option> 
<option value="audi">Audi</option> 
</select> 
<br> 
<select disabled name="cars" id="mySelection"> 
<option value="Action1">Volvo</option> 
<option value="Action2">Saab</option> 
<option value="Action3">Fiat</option> 
<option value="Action4">Audi</option> 
</select> 
</form> 

</body> 
</html> 

ответ

1

Посмотрите столицами:

document.getElementById("MySelection").disabled = false; 
<select disabled name="cars" id="mySelection"> 

Первый с "М" и seccond с "м"

+0

до сих пор не работает – user3916285

+0

http://jsfiddle.net/se22kfsr/ –

+0

посмотреть не работает - второй выпадающее меню должны стать доступны для редактирования после того, как вы выбрали опцию в первом раскрывающемся меню – user3916285

1

Вы с орфографической ошибкой MySelection с mySelection

В JS у вас есть document.getElementById("MySelection") // notice the uppercase M

и в HTML вы hav e id="mySelection"

Кроме того, установите второй флажок, когда окно загрузится и добавьте событие onChange в первый выбор, который установит второе событие в значение enabled/true ... это то, что вы хотите?

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 

window.onload = function(){ 
    document.getElementById("mySelection").disabled = true; 
}; 

function mySecondFunction() { 
    document.getElementById("mySelection").disabled = false; 
} 

</script> 

</head> 
<body> 

<form action=""> 
<select name="cars" onchange="mySecondFunction()"> 
<option value="default">default</option> 
<option value="saab">Saab</option> 
<option value="fiat">Fiat</option> 
<option value="audi">Audi</option> 
</select> 
<br> 
<select name="cars" id="mySelection"> 
<option value="Action1">Volvo</option> 
<option value="Action2">Saab</option> 
<option value="Action3">Fiat</option> 
<option value="Action4">Audi</option> 
</select> 
</form> 

</body> 
</html> 

Вы можете установить второй выбор обратно отключается, если пользователь выбирает «по умолчанию» в первом меню после изменения значения

+0

все еще не работает – user3916285

0

JavaScript селекторов чувствительны к регистру. Ваша ошибка: mySelection ID:

document.getElementById("MySelection").disabled = false; 
<select disabled name="cars" id="mySelection"> 
0

Вы должны использовать этот тег внутреннего тела. fiddle

<head> 


</head> 
<body onload="mySecondFunction()"> 

<form action=""> 
<select name="cars" > 
<option value="default">default</option> 
<option value="saab">Saab</option> 
<option value="fiat">Fiat</option> 
<option value="audi">Audi</option> 
</select> 
<br> 
<select disabled name="cars" id="mySelection"> 
<option value="Action1">Volvo</option> 
<option value="Action2">Saab</option> 
<option value="Action3">Fiat</option> 
<option value="Action4">Audi</option> 
</select> 
</form> 

</body> 
<script type="text/javascript"> 

function mySecondFunction() { 
alert("aaa"); 
    document.getElementById("mySelection").disabled = false; 
} 

</script> 
</html> 
0

Как и другие отметили, вы mispelled идентификатор второго <select>, но и вы использовали неправильный случай, onchange является то, что вы хотите вместо onload.

function mySecondFunction() { 
 
    document.getElementById('mySelection').disabled = false;  
 
}
<form action=""> 
 
    <select name="cars" onchange="mySecondFunction();"> 
 
     <option value="default">default</option> 
 
     <option value="saab">Saab</option> 
 
     <option value="fiat">Fiat</option> 
 
     <option value="audi">Audi</option> 
 
    </select> 
 
    
 
    <br /> 
 
     
 
    <select disabled="disabled" name="cars" id="mySelection"> 
 
     <option value="Action1">Volvo</option> 
 
     <option value="Action2">Saab</option> 
 
     <option value="Action3">Fiat</option> 
 
     <option value="Action4">Audi</option> 
 
    </select> 
 
</form>

Но рассмотрит с помощью JQuery и вложения события в JavaScript, вместо того, чтобы их хранить в HTML.

0

Попробуйте это:

Заменить

document.getElementById("mySelection").disabled = false; 

с этим

document.getElementById("mySelection").removeAttribute('disabled'); 

Кроме того, вы можете захотеть изменить

onload="mySecondFunction()" 

с этим:

onchange="mySecondFunction()" 

Надеюсь, это поможет.

0

, если вы хотите удалить Отключено в определенном значении типа (Saab)

See fiddle примечание: поставить скрипт в b4 головной метке

function mySecondFunction() 
{ 
var ddl = document.getElementById("1"); 
var selectedValue = ddl.options[ddl.selectedIndex].value; 
    if (selectedValue == "saab") 
    { 
    document.getElementById("mySelection").disabled = false; 
    }else { 
    document.getElementById("mySelection").disabled = true; 
    } 
} 

<form action=""> 
    <select id="1" name="cars" onchange="mySecondFunction()"> 
     <option value="default">default</option> 
     <option value="saab">Saab</option> 
     <option value="fiat">Fiat</option> 
     <option value="audi">Audi</option> 
    </select> 

    <br /> 

    <select disabled="disabled" name="cars" id="mySelection"> 
     <option value="Action1">Volvo</option> 
     <option value="Action2">Saab</option> 
     <option value="Action3">Fiat</option> 
     <option value="Action4">Audi</option> 
    </select> 
</form> 

UPDATE See fiddle

function mySecondFunction() 
{ 
var ddl = document.getElementById("1"); 
var selectedValue = ddl.options[ddl.selectedIndex].value; 
    if (selectedValue == "default") 
    { 
    document.getElementById("mySelection").disabled = true; 
    }else { 
    document.getElementById("mySelection").disabled = false; 
    } 
} 
+0

Как вы это сделаете, чтобы, если его по умолчанию, то второй снимок остается отключенным, тогда как если его любое другое значение, другое по умолчанию, второе падение должно быть редактируемым – user3916285

+0

Просто измените значения изменений на значение по умолчанию и установите значение false и true 'function mySecondFunction() { var ddl = document.getElementById (" 1 "); var selectedValue = ddl.options [ddl.selectedIndex] .value; if (selectedValue == "default") { document.getElementById ("mySelection"). Disabled = true; } else { document.getElementById ("mySelection"). Disabled = false; } } ' – Jonathan

+0

См. ОБНОВЛЕНИЕ выше – Jonathan

0

Изменить onload на onchange.

<select name="cars" onchange="mySecondFunction();"> 
Смежные вопросы