2017-09-25 4 views
-1

WordpressにはNinjaform計算フォームがあります。私はドロップダウンリストを持っており、ドロップダウンが選択された後で計算DIVを表示したいが、自動的に開く。オプションを選択してからdivを開く

これは私のセレクト入力(私は変更できない)である:

<select id="nf-field-5" name="nf-field-5" class="ninja-forms-field nf-element"> 
<option value="-" selected="selected">Seleccionar kilates</option> 
<option value="14k">14k (joyas)</option> 
<option value="18k">18k (joyas)</option> 
<option value="22k">22k (monedas)</option> 
<option value="24k">24k (lingotes)</option> 
<option value="no-estoy-seguro-a">No estoy seguro/a</option> 
</select> 

これは私のdiv要素である:

<span> 
 
<div class="calculator-item-list"> 
 
    <div class="item-block calculator-item"> 
 
    <p><br> 
 
     <span class="weight">Total de oro:</span> 
 
\t  <span class="headline2">{calc:Total} €</span> \t 
 
     <span class="weight">{calc:Susgramos} gramos</span> 
 
\t  <span class="large">Le pagamos a {calc:Porgramo} € el gramo</span> \t 
 
     <span class="weight">Gastos de valoración: -20€</span> 
 
     <br> 
 
     <span class="weight">Precio final:</span> 
 
     <span class="headline">{calc:Totals} €</span> 
 
    </p> 
 
</div></div> 
 
</span>

divの私が変更とCSSできます。また、私は私のヘッダーまたはフッターにスクリプトを追加することができます。

私はさまざまなオプションを試してみましたが、役に立たないようです。

ユーザがドロップダウンからオプションを選択した後、理想的には結果divが表示され、その前に非表示にする必要があります。 クリックすると隠されたチェックボックスとラベルが付いた簡単なオプションがわかりますが、自動解決が必要です。これは提出するボタンをクリックすることなく動作します。 https://comprooroenmalaga.com/vender-oro-online/

多くのおかげで、 ビー

+1

?あなたのためのコードを書くのは非常に簡単ですが、それは実際にはStackOverflowについてではありません –

+0

私はこれを使用しようとしましたが、それは私のためには機能しませんでした。 https://stackoverflow.com/questions/33894337/open-form-b​​ased-on-input-from-select また、私はonchange =を使用しましたが、SelectとOptionsコードを変更できないため、そのオプションを破棄しました。 –

答えて

0

あなたは、ドロップダウン・変更/選択を検出し、表示するために、あなたのdivを発射するためにjQueryを使用することができます。ここでは

は私のページへのリンクです。このコードでは、.calculator-item-list divのCSS displayプロパティがnoneに設定されていると想定しています。 display:none;

更新: OPのhtmlが動的に作成されていると思われます。

$(document).ready(function() { 
    console.log('fired'); 
    $(window).on('change', '#nf-field-5', function(){ 
    console.log('Change hit'); 
    $('.calculator-item-list').show(); 
    }); 
}); 
+0

こんにちは!あなたの答えはとてもシンプルなようですが、私はWordPressにjQueryを追加することができません。私の知識が不足して申し訳ありません。 プラグインを使用して、ヘッダーとフッターにスクリプトを追加しています。このプラグインをこのプラグインに入れるにはどうすればよいですか、私自身で試してみましたが、の間で試してみましたが、何も動作しません。あなたはhttps://comprooroenmalaga.com/vender-oro-online/で自分で見ることができます。 私は効果的にdisplay:noneとして.calculator-item-listを持っています。どうもありがとうございます!! –

+0

あなたのサイトをチェックしました。 JSはスクリプトタグなしでは動作しません。スクリプトのタグの間に戻して、私に知らせてください。もう一度確認できます。また、ヘッダーではなく、フッタにコードを配置することもできます。 – ProEvilz

+0

もう一度、スクリプトタグ内のフッターの一番下に、指示した通りにしました。あなたがチェックするかもしれません。ありがとうございました! –

0

あなたは「選択とオプション」を変更できないと言いましたが、私はそれらの値を意味すると仮定します。

これに変更し、それを:

<select id="nf-field-5" name="nf-field-5" class="ninja-forms-field nf- 
    element" onchange="showDiv(divToShow)"> 
    <option value="-" selected="selected">Seleccionar kilates</option> 
    <option value="14k">14k (joyas)</option> 
    <option value="18k">18k (joyas)</option> 
    <option value="22k">22k (monedas)</option> 
    <option value="24k">24k (lingotes)</option> 
    <option value="no-estoy-seguro-a">No estoy seguro/a</option> 
    </select> 

そして、あなたのdiv:

<span> 
<div class="calculator-item-list" id="divToShow" style="display: none;"> 
    <div class="item-block calculator-item"> 
    <p><br> 
     <span class="weight">Total de oro:</span> 
     <span class="headline2">{calc:Total} €</span> 
     <span class="weight">{calc:Susgramos} gramos</span> 
     <span class="large">Le pagamos a {calc:Porgramo} € el gramo</span>  
     <span class="weight">Gastos de valoración: -20€</span> 
     <br> 
     <span class="weight">Precio final:</span> 
     <span class="headline">{calc:Totals} €</span> 
    </p> 
</div></div> 
</span> 

その後:

<script> 
function showDiv(id){  

    //For ease 
    var x = document.getElementById(id); 
    x.style.display = "block"; 
    } 
    <script> 
+0

私の貧弱な説明は申し訳ありませんが、Ninjaformプラグインの一部であるため、実際のコードを変更できないことを意味しました。とにかくあなたの答えに感謝します。 –

0

選択または使用選択した上でchangeを使用することができます。あなたがこれまでに試してみました何

$(document).ready(function() { 
 
    $("#dropdown").change(function() { 
 
    $("#show").show(); 
 
    }) 
 
})
#show { 
 
    display: none; 
 
    margin-top: 40px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select name="" id="dropdown"> 
 
    <option value="test1">TEST1</option> 
 
    <option value="test2">TEST2</option> 
 
    <option value="test3">TEST3</option> 
 
    <option value="test4">TEST4</option> 
 
    <option value="test5">TEST5</option> 
 
</select> 
 

 
<div id="show"> 
 
    TEST SHOW 
 
</div>

関連する問題