2017-05-18 13 views
0

テキストボックスのいずれかに値がある場合、どのようにすべてのテキストボックスを無効にすることができますか?私はcost_typeとそのコストの配列を持っていますが、cost_typeの他のすべてのテキストボックスはdisable.ifでなければなりません。すべてのテキストフィールドは編集可能でなければなりません。私はすでにこのコードを試していますが、動作していません。いずれかのテキストボックスに値がある場合、テキストボックスの配列を無効にする

function stoppedTyping(iVal){ 
     var costs=document.getElementsByName("cost")[iVal].value; 
     if(costs > 0) { 
     document.getElementById("cost_" + iVal).disabled=true; 
     } else { 
       document.getElementById("cost_" + iVal).disabled=false; 
     } 
    } 

<td colspan="4"> 
     <input type="text" size="10" maxlength="8" name="cost" id="cost_<c:out value="${y}"/>" value="<c:out value="${costDto.cost}"/>" 
         onBlur=" stoppedTyping(<c:out value="${y}"/>)"; "/> 
         </td> 

答えて

0

これをスクリプトに追加します。

$('.enableToggle').on('keyup paste', function(){ 
    var curVal = $(this).val().replace(/\s+/g,'').length > 0; 
    $(this).siblings('.enableToggle').prop('disabled', curVal); 
}); 

し、すべての入力フィールドにclass="enableToggle"を追加します。

0

と、値の長さをチェックしてみてください。

var costs = document.getElementsByName("cost")[iVal].value; 

if(costs.length > 0) { 

} 

またはもう少しコンパクト:

var costs = document.getElementsByName("cost")[iVal].value; 
document.getElementById("cost_" + iVal).disabled = costs.length > 0; 
+0

私は..私は、コストのいずれかの場合には、すべてのテキストボックスを無効にしたい質問を更新しましたテキストボックスに入力します。 – RJK

+0

[this](https://codepen.io/Mobius1/pen/gWdEVb?editors=0010)のようなもの? –

関連する問題