2017-02-06 6 views
0

私はフォームを持っています。テキストボックスがチェックされているときにテキストボックスを有効にして、チェックボックスがチェックされていないときに値をクリアする必要があります。Ask-my JavaScriptが動作しません! Opencart

が、これは私のフォームコード

<?php if($this->config->get('config_dropshipper')){?> 
<table> 
    <tr> 
     <td colspan="2"><input type="checkbox" name="dropship" id="dropship" value="1"/> 
     <label for="dropship" ><b>Beli sebagai dropshipper</b></label> 
     </td> 
    </tr> 
    <tr class="highlight"> 
     <td>Dropshipper</td> 
     <td><input type="text" name="dropshiper_name" id="dropshiper_name" value="<?=$dropshiper_name?>"/></td> 
    </tr> 
    <tr> 
     <td>Nomot Telepon</td> 
     <td><input type="text" name="dropshiper_phone_number" id="dropshiper_phone_number" value="<?=$dropshiper_phone_number?>" /></td> 
    </tr> 
</table> 
<?php } ?> 

私のJSコードが

$('#dropship').bind('change', function() { 
    if ($('#dropship').prop('checked')) { 
     $("#dropshiper_name").attr("disable", false); 
     $("dropshiper_phone_number").attr("disable", false); 
    } 
    else{ 
     $("#dropshiper_name").val(""); 
     $("#dropshiper_name").attr("disable", true); 
     $("#dropshiper_phone_number").val(""); 
     $("#dropshiper_phone_number").attr("disable", true); 
    } 
}); 
$('#dropship').trigger('change'); 

どのようにこの問題を解決することです..私はJavaScriptを使用していて、私のJSが動作しませんか?

答えて

0

コードにjQueryバージョンの問題がある可能性があります。

jQueryのバージョンに応じて、次のコードを使用してください。 使用すると、jQueryバージョンが、付属のjQuery.jsライブラリでチェックできます。

  $('#dropship').click(function() { 

       if ($(this).is(":checked")) { 

        /*For jquery version 1.6+ use following*/ 
        $("#dropshiper_name").prop('disabled', false); 
        $("dropshiper_phone_number").prop("disabled", false); 

        /*For jquery version less than 1.6 use following*/ 
        $("#dropshiper_name").attr('disabled','disabled'); 
          $("dropshiper_phone_number").attr('disabled','disabled'); 

       } 
       else{ 

        $("#dropshiper_name").val(""); 
        $("#dropshiper_phone_number").val(""); 

        /*For jquery version 1.6+ use following*/ 
        $("#dropshiper_name").prop('disabled', true); 
        $("dropshiper_phone_number").prop("disabled", true); 

        /*For jquery version less than 1.6 use following*/ 
        $("#dropshiper_name").removeAttr('disabled'); 
        $("#dropshiper_phone_number").removeAttr('disabled'); 

       } 
      }); 

これを試してください。これはあなたのために働くでしょう。

+0

これは私にとってうまくいきません。別のアイデアですか? –

+0

コンソールを開き、エラーが発生したことをお知らせください。私はあなたを助けることができるように。 –

+0

コンソールで自分のチェックボックスをクリックした場合 livesearch.js:101未知のReferenceError:nが定義されていません at HTMLHtmlElement HTMLHtmlElement.dispatch(jquery-1.7.1.min.js:3)(livesearch.js:101) HTMLHtmlElement.i(jquery-1.7.1.min.js:3) @ (匿名)@ livesearch .js:101 ディスパッチ@ jquery-1.7.1.min.js:3 i @ jquery-1.7.1.min.js:3 –

関連する問題