2012-02-08 14 views
0

更新:お返事ありがとうございます! あなたが投稿した機能を使っても、私はそれを理解できないようです。ここに私が使用するコードがあります。また、私は自分のサイトにjQueryを持っていますが、jQueryを使用することはできません。入力が空でないときに選択タグを非表示にする

<form method="post" action="" name="items"> 
    <table> 
     <tr> 
      <td>Link URL:</td> 
          <td><input type="text" name="item_url" size="25"/></td> 
     </tr> 
     <tr> 
      <td>Link name</td> 
      <td><input type="text" name="item_name" size="25" /></td> 
     </tr> 
        <tr> 
          <td>Site Name:</td> 
          <td id="site_id"> 
            <select name="item_site_id"> 
              <option value="<?php echo $sites["site_id"]; ?>"><?php echo $sites["site_name"]; ?></option> 
            </select> 
          </td>      
        </tr> (the form contiunes, but only this part is relevant...) 

基本的に私は、ユーザーが「リンクURL」ライン(入力名item_url)には何も入ったとき、SELECTタグ(SITE_ID)が消えていること、それを作りたいです。 もう一度お手伝いしていただきありがとうございます:)

EDIT2:解決済み、おかげさまで助けてください! もう1つの質問 - SELECTをどのように追跡できますか?私はそれをそうしたい、そのitem_urlとitem_nameは、ユーザーが選択を変更すると消えます。それは可能ですか?

+0

jqueryを使用していますか? – ggreiner

+1

@ggreiner、この質問は 'jquery'タグですか? – Gabe

+0

@Gabe - 質問を誤ってタグ付けしたのは初めてではないでしょう。 – j08691

答えて

0

あなたがそれを起こしたいときに応じて、指定しなかったので、onblureventを使用しました。同じ方法でonchangeonkeydownonclickなどを使用することができます。

jsFiddle

HTML

<input type="text" onblur="hideSelect(this);" /> 
<select id="mySelect"></select> 

Javascriptを

function hideSelect(txt){ 

    if(txt.value.length == 0){ 
     document.getElementById('mySelect').style.display = "none"; 
    } 
    else{ 
     document.getElementById('mySelect').style.display = "inline"; 
    } 

} 
+0

ありがとうございました!魅力のように働く:) – pangi

1

基本例:

あなたはそれがかなり簡単だ jQueryを使用してに開放している場合は

http://jsfiddle.net/NDSE3/

document.getElementsByTagName('input')[0].onchange = function(){ 
    var select = document.getElementsByTagName('select')[0]; 

    if(this.value == '') 
     select.style.display = 'inline'; 
    else 
     select.style.display = 'none'; 
} 
+0

'inline'要素を' display'に 'block'と設定するのはなぜですか? – Gabe

+0

@Gabeちょうどそれを変更しました。しかし、あなたがそれをしたいことがあるかもしれない多くの状況があります;)とりわけ 'ふわふわしたHTMLマークアップ'を節約するために、それは別の話題です... – xandercoded

+0

十分に公正ですが、わかりやすくするために私はそれを持ち出しています。 – Gabe

-1

ライブ例:http://jsfiddle.net/justrhysism/hnuHQ/

HTML:

<input type="text" id="myTextInput" /> 

<select id="mySelectBox"> 
    <option>One</option> 
    <option>Two</option> 
</select> 

jQueryの

$('#myTextInput').change(function(){ 
    if ($.trim($(this).val()) == '') { 
     $('#mySelectBox').show(); 
    } else { 
     $('#mySelectBox').hide(); 
    } 
}); 

どちらかjQueryの$(document).ready()ハンドラにスクリプトを置く、または単に後にそれを読み込みますDOM内のHTML

注:これは、テキストボックスがフォーカスを失ったときにすぐにではなく、選択ボックスを非表示にします。すぐに非表示にしたい場合は、keyUp()イベントハンドラを使用してみてください。

+0

この質問はタグなし 'jquery' – Gabe

+0

誰もがjQueryとそれが提供する利点を認識しているわけではありません。質問には、jQueryを使用してはならないと述べられていません。 – justrhysism

関連する問題