Как отключить флажок при нажатии определенной радиокнопки.

0

Хотите отключить флажок "анимация" после выбора переключателя "3D". и также отключить его, как только выбрано "2D".

html-код

  <script type="text/x-handlebars" id="createProject">
    <div class="projectForm">
      <table cellpadding="10">
        <tr>
          <td> Project Name </td>
          <td> <input type="text" name="projectName" /> </td>
        </tr>
        <tr>
          <td> Project Description </td>
          <td> <textarea name="projectDesc" > </textarea> </td>
        </tr>
        <tr>
          <td> Pipleline Type </td>
          <td> 
            <input type="radio" name="pipelineType" value="2d" id="2d" checked="checked" onclick="displayType"> 2D Pipleline <br>
            <input type="radio" name="pipelineType" value="3d" id="3d" onclick="displayType"> 3D Pipleline </td>
        </tr>
        <tr>
          <td> Project Roles </td>
          <td> <input type="checkbox" name="projectRoles" id="animation"value="Animation Clean Up"> Animation Clean Up  
            <input type="checkbox" name="projectRoles" value="Background Painting"> Background Painting 
            <input type="checkbox" name="projectRoles" value="Casting & Recording"> Casting & Recording
            <input type="checkbox" name="projectRoles" value="Color Styling"> Color Styling
          </td>
        </tr>
      </table>
    </div>

  </script>

Im new at ember.js, у меня есть код java в app.js. Было бы лучше, если бы он был помещен в другой файл js?

javascrirpt

function displayType() {

    if(document.getElementById('2d').checked) {
        document.getElementById('animation').disabled = false;
    }
    else {
        document.getElementById('animation').disabled=true;
    }
}

Любое предложение было бы действительно полезно. Благодарю.

  • 0
    хочу что-то вроде этого -> jsfiddle.net/6x9NZ/95
Теги:
ember.js
html-form

4 ответа

3
Лучший ответ

Первое, что я заметил, это то, что вы забыли сделать ваши звонки onclick в вызовы функций:

onclick="displayType"

Необходимо изменить

onclick="displayType()"

Затем, когда я поместил ваш код в jsfiddle, он не нашел функцию, потому что она не была в глобальной области. Когда я изменил определение функции из:

function displayType() {

чтобы:

window.displayType = function () {

он решил проблему. Это может быть различным в зависимости от того, где вы размещаете свой код.

  • 0
    Это добилось цели. Спасибо.
0

Стенограмма, передайте переменную, чтобы определить, какой переключатель

function displayType(def) {
  var checked = def === '3d';

  document.getElementById('animation').disabled = checked; 
}

HTML, передайте переменную функции javascript, указывающую, были ли нажаты ее 3d или 2d

<input type="radio" name="pipelineType" value="2d" id="2d" checked="checked" onclick="displayType('2d')"> 2D Pipleline <br>
<input type="radio" name="pipelineType" value="3d" id="3d" onclick="displayType('3d')"> 3D Pipleline </td>
0

попробуйте это решение,

  1. удалите <script type="text/x-handlebars" id="createProject"> и его закрывающий тег.
  2. Измените свой код на onclick = "displayType" на onclick = "displayType()" в первых двух переключателях.
0

Попробуйте отключить его:

document.getElementById('animation').removeAttribute('disabled');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню