0

option valueユーザーが1つのフィールドで特定のものを選択した場合select、どのようにしてテキストフィールドを作成しますか。shiddenそれは必要ありません。これは、フォームを送信する前に行う必要がありますか?

たとえば、次の選択フィールドで、ユーザーselectはvalue='a'、このテキストフィールドを非表示にする方法を選択します。

     <select name="form" id="aForm">
        <option value="a">choice1</option>
        <option value="b">choice2</option>
        <option value="c">choice3</option>
     </select>

     <input type="text" style="width:285px" name="textField" id="textField"/>
4

2 に答える 2

4
$("#aForm").on("change", function() { 
    if ($(this).val() == "a") 
        $("#textField").hide();
    else 
        $("#textField").show(); 
});

こちらもjsfiddleです

a以外の値のテキストフィールドを表示すると仮定しました。

jQueryではなくプレーンJavaScriptを使用している場合

function hideTF() {
    var s = document.getElementById("aForm");
    document.getElementById("textField").style.display 
         = (s.selectedIndex > 0  && s.options[s.selectedIndex] == 'a'
         ? "none" : "block");
}
var s = document.getElementById("aForm");
if (s.attachEvent)
    s.attachEvent("onchange", hideTF);
else
    s.addEventListener("change", hideTF, false);
于 2012-12-22T22:00:21.853 に答える
2

これのバリエーションを使用できます:

var selection = aForm.selectedIndex,
    field = document.getElementById('textField');

if ( selection === x ) {

    field.style.display = "block"; // or visibility = "hidden"

}

.onchangeこれはイベントで囲む必要があります。選択されている対応する要素aForm.selectedIndexのインデックスです。<option>

于 2012-12-22T21:58:11.577 に答える