0

フォームで選択を使用しており、「その他」テキスト入力ボックスを表示する「その他」オプションがあります。ただし、テーブルの同じ列に実際の値を保存したいだけなので、「その他」のテキスト入力の「値」が、明らかに「その他」である選択された内容ではなく、MySQL テーブルに渡されるようにする必要があります。 "

<div>
  <select class="element select small" id="prop_title" name="prop_title">
    <option value="Mr" >Mr</option>
    <option value="Mrs" >Mrs</option>
    <option value="Sir" >Sir</option>
    <option value="Lord" >Lord</option>
    <option value="Other">Other</option>
  </select>
  <div id="prop_title_other" style="display: none; margin-top:15px;">
    <label class="description" for="prop_title">Proprietor Title (Other)</label>
    <input type="text" id="prop_title" class="element text small" value=""/>
  </div>
</div> 
$('#prop_title').change(function() 
{
  $('#prop_title_other').css('display', ($(this).val() == 'Other') ? 'block' : 'none');
});
4

2 に答える 2

0

あなた$(this)はテキストボックスの対象になります。それはあなたがその問題を抱えているyです。$(this)ローカル変数に変更する

$('#prop_title').change(function() 
{
  var item=$(this);
   $('#prop_title_other').css('display', (item.val() == 'Other') ? 'block' : 'none');
});

作業サンプル: http: //jsfiddle.net/GbGbU/

于 2012-05-16T00:09:15.627 に答える
0
$('#prop_title').change(function() 
{
  var display;

  if ($(this).val() == 'Other') {
       display = "none";      
  }  else { display = "block"};

  $('#prop_title_other').css('display', display);

});
于 2012-05-16T00:10:15.840 に答える