1

こんにちは私はテキストボックスとドロップダウンボックスがあるHTMLページを持っています。ページを初めてロードするときは、ドロップダウン(選択済み)の値に応じて、テキストボックスを有効または無効にする必要があります。javascriptまたはjqueryを使用してこれを実行したいと思います。少し助けが必要です。

<table>
  <tr>
    <td class="td">
      <input type="text" size="3" name="length21" value="0" disabled="disabled"/>
    </td>
    <td class="td">
      <div class="type">
        <select name="type1" id="field_type">
          <option value="TEXT" SELECTED="">TEXT</option>
          <option value="TEXTAREA" >TEXTAREA</option>
          <option value="DROPDOWN" >DROPDOWN</option>
          <option value="DATE" >DATE</option>
          <option value="CHECKBOX" >CHECKBOX</option>
          <option value="SEPARATOR" >SEPARATOR</option>
          <option value="DATETIME" >DATETIME</option>
          <option value="HIERARCHY" >HIERARCHY</option>
        </select>
      </div>
    </td>
  </tr>
  <tr>
    <td class="td">
      <input type="text" size="3" name="length21" value="0" disabled="disabled"/>
    </td>
    <td class="td">
      <div class="type">
        <select name="type2" id="field_type">
          <option value="TEXT" >TEXT</option>
          <option value="TEXTAREA" >TEXTAREA</option>
          <option value="DROPDOWN" SELECTED="">DROPDOWN</option>
          <option value="DATE" >DATE</option>
          <option value="CHECKBOX" >CHECKBOX</option>
          <option value="SEPARATOR" >SEPARATOR</option>
          <option value="DATETIME" >DATETIME</option>
          <option value="HIERARCHY" >HIERARCHY</option>
        </select>
      </div>
    </td>
  </tr>
</table>

ここで必要なのは、ページが読み込まれたときに、ドロップダウンでTEXTが選択されている行に対して、テキストボックスが有効になることです。しかし、他の人のためではありません。どんな助けでもよろしくお願いします。

4

2 に答える 2

2

jQuery の場合:

$(document).ready(function(){
  $('select').on('change',function(){
    if($('select').val() == "TEXT") {
      $(this).parents('td').siblings('td').children('input').removeAttr('disabled');
    }
  });
});
于 2012-08-09T15:05:31.907 に答える
1

スコットのコードを少し変更して、負荷で機能するようにしました。

$(document).ready(function() {
    $('select').each(function() {
        var comboBox = $(this);
        checkValue(comboBox);
        comboBox.on('change', function() {
            checkValue(comboBox);
        });
    });
});

function checkValue(comboBox) {
    if (comboBox.val() == "TEXT") {
        comboBox.parents('td').siblings('td').children('input').removeAttr('disabled');
    }
    else {
        comboBox.parents('td').siblings('td').children('input').attr('disabled','disabled');
    }
}​

これがフィドルです:http://jsfiddle.net/BbStP/1

于 2012-08-09T15:17:37.913 に答える