2014-10-10 2 views
0

Мой код сценария java не работает. В настоящее время, когда вы выбираете значение в первом выпадающем меню, второе выпадающее меню становится редактируемым, что отлично. Но я хочу сделать так, как если бы вы выбрали опцию «по умолчанию» в первом выпадающем меню, второе выпадающее меню возвращается к «по умолчанию» и становится отключенным и только для чтения, но если я выберу любой другой вариант, отличный от «по умолчанию» «второе меню должно быть доступно для редактирования.Код JavaScript не работает

<html> 
<head> 
<script type="text/javascript"> 
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; 
    } 

} 
</script> 

</head> 
<body> 
<select id="1" onchange="mySecondFunction()"> 
       <option value="OptionZero">Default</option> 
       <option value="OptionOne">Car</option> 
       <option value="OptionTwo">Car2</option> 
       <option value="OptionThree">Car23</option> 
</select> 
<br> 
<select disabled id="mySelection"> 
       <option value="OptionZero">Default</option> 
       <option value="OptionOne">A</option> 
       <option value="OptionTwo">B</option> 
       <option value="OptionThree">C</option> 
     </select> 


</body> 
</html> 
+2

Значение не «По умолчанию», это «OptionZero» – galchen

ответ

1

Вы должны написать

if(selectedValue == "OptionZero") { 

Это значение атрибута, которое устанавливается значение на элементе.

0

Попытка, как

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

} 

или можно попробовать, как

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

} 

DEMO2

Demo

UPDATE DEMO

+0

Как сделать второй снимок, вернувшись к умолчанию, когда он отключен? Итак, если я включу второй снимок и выберите параметрOne = A, но затем я выбираю значение по умолчанию в первом раскрывающемся списке, как сделать второй снимок, вернемся к умолчанию и сделайте его только для чтения –

+0

@HassanChaudhry Проверьте мой обновленный ответ – Amit

0

Вы должны использовать значение OptionZero, а не ярлык Default, и установите значение обратно в «MySelection»

if (selectedValue == "OptionZero") 
{ 
    document.getElementById("mySelection").disabled = true; 
    // set the value to default 
    document.getElementById("mySelection").value = "OptionZero" 
} else { 
    document.getElementById("mySelection").disabled = false; 
} 
0

Вы ошибка со значением, это ответ:

function mySecondFunction() { 
    var ddl = document.getElementById("1"); 
    var selectedValue = ddl.options[ddl.selectedIndex].value; 
    document.getElementById("mySelection").disabled = selectedValue === "OptionZero"?true:false; 
} 
0

Изменения вашего Сценарий, как этот

function mySecondFunction() { 
    if (document.getElementById("1").value == "OptionZero") 
    { 
    document.getElementById("mySelection").value="OptionZero"; 
    document.getElementById("mySelection").disabled = true; 
    }else {  
    document.getElementById("mySelection").disabled = false; 
    } 
} 

Вот это Fiddle

0

Пожалуйста, ознакомьтесь с нижеследующим кодом.

<html> 
    <head> 
    <script type="text/javascript"> 
    function mySecondFunction() { 
    var ddl = document.getElementById("1"); 
    var selectedValue = ddl.options[ddl.selectedIndex].value; 
if (selectedValue == "OptionZero") 
    { 
    document.getElementById("mySelection").value="OptionZero"; 
    document.getElementById("mySelection").disabled = true; 
    }else { 
    document.getElementById("mySelection").disabled = false; 
    } 

} 
</script> 
</head> 
<body> 
<select id="1" onchange="mySecondFunction()"> 
      <option value="OptionZero">Default</option> 
      <option value="OptionOne">Car</option> 
      <option value="OptionTwo">Car2</option> 
      <option value="OptionThree">Car23</option> 
</select><br> 
<select disabled id="mySelection"> 
      <option value="OptionZero">Default</option> 
      <option value="OptionOne">A</option> 
      <option value="OptionTwo">B</option> 
      <option value="OptionThree">C</option> 
    </select> 
</body> 
</html> 

Пожалуйста, измените SelectedValue == "По умолчанию" к SelectedValue == "OptionZero" и добавьте следующую строку, если условие document.getElementById ("MySelection") значение = "OptionZero".

Надеюсь, он вам поможем. Спасибо.

Смежные вопросы