2017-03-21 16 views
0

ユーザーが間違ったキーを入力した場合、入力セルの色をピンクに変更します。私はそれを変更することができますが、私は彼らがセルをクリックした後、色をリセットすることはできません。 .prop( "disabled"、false)を使ってみました。私はここで何が欠けていますか?セルの入力を有効にする

function setUnitField(a) { 
$(function() { 
    var tbl = $(document.getElementById('21.125-mrss-cont-none-content')); 
    var str1 = 'Each'; 
    var str2 = 'Dozen'; 
    var str3 = 'Foot'; 
    var str4 = 'Us Gallon'; 


    tbl.find('tr').each(function() { 
     $(this).find("input[name$='8#if']").keypress(function (e) { 
      if (e.which == 13) { 
       if ($(this).val() == 'EA') { 
        $(this).val(str1); 
        $(this).css("background-color", ""); 
       } else { 
        $(this).css("background-color", "pink"); 
       } 

       if ($(this).val() == 'DZ') { 
        $(this).val(str2); 

       } 
       if ($(this).val() == 'Ft') { 
        $(this).val(str3); 

       } 
       if ($(this).val() == 'GAL') { 
        $(this).val(str4); 

       }   
      } 
     }); 
    }); 



}); 

}

<input id="grid#21.125#1,8#if" ct="I" type="text" maxlength="3" tabindex="0" ti="0" class="lsTblEdf3 lsTblEdf3NoEllipsis" value="" autocomplete="off" autocorrect="off" name="grid#21.125#1,8#if" onfocus="cellClick('grid#21.125#1,8','true');" onkeypress="cellKeyPress('grid#21.125#1,8',event);" oninput="setCacheValue(this); setUnitField(this);"> 
+1

を。最低限HTMLやその他の関連するJSなどのものをお勧めします。 –

答えて

0

次のように試してみてください:誰もが適切にあなたを助けることができるようにするためにあなたは完全な例を投稿する必要があります

var str1 = 'Each'; 
 
var str2 = 'Dozen'; 
 
var str3 = 'Foot'; 
 
var str4 = 'Us Gallon'; 
 
$('table').find('tr').each(function() { 
 
    $(this).find("input[name$='8#if']").keypress(function (e) { 
 
    if (e.which == 13){ 
 
     if ($(this).val() == 'EA') { 
 
      $(this).val(str1); 
 
      $(this).css("background-color", ""); 
 
     } 
 
     else if ($(this).val() == 'DZ') { 
 
      $(this).css("background-color", ""); 
 
      $(this).val(str2); 
 

 
     } 
 
     else if ($(this).val() == 'Ft') { 
 
      $(this).css("background-color", ""); 
 
      $(this).val(str3); 
 

 
     } 
 
     else if ($(this).val() == 'GAL') { 
 
      $(this).css("background-color", ""); 
 
      $(this).val(str4); 
 
     } 
 
     else { 
 
      $(this).css("background-color", "pink"); 
 
     } 
 
    } 
 
    else { 
 
      $(this).css("background-color", "pink"); 
 
    } 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr> 
 
    <td><input id="grid#21.125#1,8#if" ct="I" type="text" maxlength="3" tabindex="0" ti="0" class="lsTblEdf3 lsTblEdf3NoEllipsis" value="" autocomplete="off" autocorrect="off" name="grid#21.125#1,8#if"/></td> 
 
    </tr> 
 
</table>

+0

これは動作します。ありがとうございます –

+0

入力中に色が正常になりますか? – Mamun

+0

私の答えを承認してください。 – Mamun

関連する問題