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>

私はember.jsが初めてで、app.jsにJavaコードがあります。別のjsファイルに配置した方が良いでしょうか?

javascript

function displayType() {

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

どんな提案も本当に役に立ちます。ありがとう。

4

4 に答える 4

3

最初に気付いたのは、onclick 呼び出しを関数呼び出しにするのを忘れていることです。

onclick="displayType"

に変更する必要があります

onclick="displayType()"

次に、コードをjsfiddleに入れたときに、関数がグローバル スコープになかったため、関数が見つかりませんでした。関数定義を次から変更したとき:

function displayType() {

に:

window.displayType = function () {

それは問題を解決しました。これは、コードを配置する場所によって異なる場合があります。

于 2013-10-08T05:27:49.363 に答える