0

ボタンをクリックするとJqueryを使用して表示されるフォームフィールドがあります。

[select dropdown: conOperator]   [textfield: conValue ]  [select dropdown: conValuedd]

conValuedd はデフォルトで非表示になっています。

最初の選択ドロップダウン[conOperator]でAppleまたはBananaのいずれかを選択すると、テキストフィールドconValueが非表示になり、代わりにドロップダウンconValueddが表示されるようにする方法を見つけようとしています。ただし、スイカを選択すると、conValue が表示され、conValuedd が再び非表示になります。どんなアイデアでも大歓迎です。

$('<select id="conOperator' + num + '" name="conOperator' + num + '" class="standard_select" style="width:147px;">
    <option>Watermelon</option>
    <option>Apple</option>
    <option>Banana</option>
   </select>&nbsp;
   <input type="text" id="conValue' + num + '" name="conValue' + num + '" class="short_input" value="" style="width:147px;">&nbsp;&nbsp;
   <select style="display:none" id="conValuedd' + num +'" multiple="multiple" size="5">
    <option value="option1">Blah</option>
    <option value="option2">Blah</option>
   </select>').appendTo('#addCondition');
4

2 に答える 2

1

次のようなものを試してください:

$('#addCondition').on('change','#conOperator' + num, function(e){        
    switch( $('option:checked',this).text() ){
        case 'Apple':
        case 'Banana':
            $(this).nextAll(':text:first').hide();
            $(this).nextAll('select:first').show();
            break;
        case 'Watermelon':
            $(this).nextAll(':text:first').show();
            $(this).nextAll('select:first').hide();
            break;
    }
});
$('#conOperator' + num).trigger('change');

デモ

于 2012-07-03T12:21:06.440 に答える
0

を呼び出すappendTo()と、生成<select/>された が DOM に追加されるため、jQuery で取得してリスナーを追加できます。

$("#conOperator" + num).change(function() {
    // Your logic here
}
于 2012-07-03T12:17:09.470 に答える