jQueryを使用してクラスを介してdivの親から入力の値を取得するにはどうすればよいですか?

cryptohustla

私はこのスクリプトを持っており、完全に機能していますが、問題は、動的に生成されるコード構造を制御できないことです。

要素(またはINPUTなどの名前)の値を簡単に取得できますが、問題は、値をフェッチする方法です。

$('input:radio[name="meal-356"]').change(function(ev)

ここで、name = "meal-356"はランダムに生成され、divの親クラス(IDではなく)を制御できるので、親からクラスごとに要素の値を取得できるかどうか疑問に思います。

たとえば、input name = "meal-356"の値を取得するために、このコードを使用します。

    $('input:radio[name="meal-356"]').change(function(ev){

    if ($(this).val() == 'Burger with fries') {
        var meal = 20;
    }
    else {
        var meal = 30;
    }

    $('#meal').text((meal).toFixed(2)).trigger('change');

});

だから使用する代わりに

$('input:radio[name="meal-356"]').change(function(ev)

$('.meal-wrapper')そのdiv内の入力、textarea、またはフォームのいずれかが同じ効果を持つように使用したいと思います

これが私の完全なスクリプトです:

$(document).ready(function() {

    $('input:radio[name="meal-356"]').change(function(ev){

        if ($(this).val() == 'Burger with fries') {
            var meal = 20;
        }
        else {
            var meal = 30;
        }

        $('#meal').text((meal).toFixed(2)).trigger('change');

    });

    $('input:radio[name="drinks-123"]').change(function(ev){

        if ($(this).val() == 'Ice Tea') {
            var drinks = 1;
        }
        else if ($(this).val() == 'Coke') {
            var drinks = 1.20;
        }
        else if ($(this).val() == 'Lemonade') {
            var drinks = 2;
        }
        else if ($(this).val() == 'Water') {
            var drinks = 1.75;
        }
        else if ($(this).val() == 'Hot choco') {
            var drinks = 3;
        }
        else if ($(this).val() == 'Hot coffee') {
            var drinks = 1.25;
        }
        else {
            var drinks = 0;
        }

        $('#drinks').text((drinks).toFixed(2)).trigger('change');
    });


    $('input:radio[name="extras-781"]').change(function(ev){

        if ($(this).val() == 'Rice') {
            var extras = 10;
        }
        else if ($(this).val() == 'Gravy') {
            var extras = 5;
        }
        else {
            var extras = 0;
        }
        $('#extras').text((extras).toFixed(2)).trigger('change');
    });

    $('textarea[name="spoon-112"]').keyup(function(ev){

        var spoon = $(this).val().replace(/\n/g, '<br/>');
		var spoon = spoon*.25;
        $("#spoon").text(spoon).trigger('change');

    });

    $('input:text[name="fork-143"]').keyup(function(ev){

        var fork = $(this).val().replace(/\n/g, '<br/>');
		var fork = fork*.5;
        $("#fork").text(fork).trigger('change');
    });



    $('#meal, #drinks, #extras, #spoon, #fork').on('change', function(e) {
        var total = $('#meal, #drinks, #extras, #spoon, #fork').toArray().reduce(function(acc, val) {
            return acc + +val.textContent   ;
        }, 0);
        $('#total').text(total.toFixed(2));
    })

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<h1>Calculator base on radio buttons</h1>
<h2>Question 1: meal</h2>
<div class="meal-wrapper">
    <label class="radio"><input name="meal-356" value="Burger with fries" type="radio"/>Burger with fries</label>
</div>
<div>
    <label class="radio"><input name="meal-356" value="Chicken with rice" type="radio" />Chicken with rice</label>
</div>

<h2>Question 2: drinks</h2>
<div class="drinks-123-wrapper">
    <input type="radio" name="drinks-123" value="Ice Tea" /> Ice Tea
    <input type="radio" name="drinks-123" value="Coke" /> Coke
    <input type="radio" name="drinks-123" value="Lemonade" /> Lemonade
    <input type="radio" name="drinks-123" value="Water" /> Water
    <input type="radio" name="drinks-123" value="Hot choco" /> Hot choco
    <input type="radio" name="drinks-123" value="Hot coffee" /> Hot coffee
    <input type="radio" name="drinks-123" value="No drinks-123" /> No drinks-123
</div>

<h2>Question 3: extras</h2>
<div class="drinks-wrapper">
    <input type="radio" name="extras-781" value="Rice" /> Rice
    <input type="radio" name="extras-781" value="Gravy" /> Gravy
    <input type="radio" name="extras-781" value="No Extra" /> No Extra
</div>

<h2>Question 4: How many extra spoon?</h2>
<div class="spoon-wrapper">
    <textarea name="spoon-112" rows="3"></textarea>
</div>

<h2>Question 5: How many extra fork?</h2>
<div class="fork-wrapper">
    <input name="fork-143" type="text" value="" placeholder=""/>
</div>

<hr />
<div class="price-wrapper">
    <b>meal:</b> <span id="meal"></span>
    <div></div>
    <b>drinks:</b> <span id="drinks"></span>
    <div></div>
    <b>extras:</b> <span id="extras"></span>
    <div></div>
    <b>spoon:</b> <span id="spoon"></span>
    <div></div>
    <b>fork:</b> <span id="fork"></span>
</div>

<div class="total-wrapper">
    <h3>
        <b>Total:</b><span id="total"></span>
    </h3>
</div>

ヨゲシュミストリー

試しました$('.meal-wrapper :input').change()か?

そして、単なる提案として、入力要素の値にswitchcaseを使用することもできます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

jQueryのクラス名を使用してすべての入力値を取得するにはどうすればよいですか?

分類Dev

jqueryを介してwhileループを使用して入力フィールドの値を取得するにはどうすればよいですか

分類Dev

JQueryの同じクラス名を介して複数のdiv内の値を取得するにはどうすればよいですか?

分類Dev

jqueryを使用してdiv内の複数のクラスから指定されたクラス名を取得するにはどうすればよいですか?

分類Dev

jQueryを使用して同じクラスの異なるdivからのdiv値を合計するにはどうすればよいですか?

分類Dev

動的クラスを使用して入力の最後の値を取得するにはどうすればよいですか?

分類Dev

Pythonを使用して非表示の入力の値を取得するにはどうすればよいですか?

分類Dev

Angularの$ resourceを介してカスタムディレクティブから入力値を送信するにはどうすればよいですか?

分類Dev

googlesheetのxmlimport関数を使用して、同じクラス名のDIVから異なる値を取得するにはどうすればよいですか?

分類Dev

tbody内のdata属性を使用して入力値を取得するにはどうすればよいですか?

分類Dev

Vanilla Javascriptを使用して入力の合計値を取得するにはどうすればよいですか?

分類Dev

jQueryを介してスパンから値を取得するにはどうすればよいですか?

分類Dev

jqueryを使用して入力の値を合計するにはどうすればよいですか?

分類Dev

jQueryを使用して動的に入力値を取得するにはどうすればよいですか?

分類Dev

jQueryを使用してonchangeから入力値を選択するにはどうすればよいですか?

分類Dev

ユーザーの入力を使用してオブジェクトから値を取得するにはどうすればよいですか?(Angularjs)

分類Dev

特定の名前の次の入力を見つけて、jQueryを使用してその値を取得するにはどうすればよいですか?

分類Dev

SQLを使用して、親からの値を子テーブルに入力するにはどうすればよいですか?

分類Dev

文字列を介してクラスのオブジェクトから値を取得するにはどうすればよいですか?

分類Dev

多重継承を使用していくつかの親クラス属性値を取得するにはどうすればよいですか?

分類Dev

jqueryの異なるdivから入力の値を取得するにはどうすればよいですか?

分類Dev

jqueryのクラスを使用して要素値を保存するにはどうすればよいですか?

分類Dev

jqueryを使用してdivの値を取得するにはどうすればよいですか?

分類Dev

jqueryを使用してラジオ入力からデータ値を取得するにはどうすればよいですか?

分類Dev

jqueryを使用して動的入力テキストの値を取得するにはどうすればよいですか?

分類Dev

jqueryとjavascriptを使用してクラス属性値を取得するにはどうすればよいですか?

分類Dev

そのdivのボタンをクリックしてフィールドの入力値を取得するにはどうすればよいですか?

分類Dev

別のクラスから取得した値を使用してクラスを更新/再初期化するにはどうすればよいですか?

分類Dev

クラスを使用して要素の4番目の子の入力を取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    jQueryのクラス名を使用してすべての入力値を取得するにはどうすればよいですか?

  2. 2

    jqueryを介してwhileループを使用して入力フィールドの値を取得するにはどうすればよいですか

  3. 3

    JQueryの同じクラス名を介して複数のdiv内の値を取得するにはどうすればよいですか?

  4. 4

    jqueryを使用してdiv内の複数のクラスから指定されたクラス名を取得するにはどうすればよいですか?

  5. 5

    jQueryを使用して同じクラスの異なるdivからのdiv値を合計するにはどうすればよいですか?

  6. 6

    動的クラスを使用して入力の最後の値を取得するにはどうすればよいですか?

  7. 7

    Pythonを使用して非表示の入力の値を取得するにはどうすればよいですか?

  8. 8

    Angularの$ resourceを介してカスタムディレクティブから入力値を送信するにはどうすればよいですか?

  9. 9

    googlesheetのxmlimport関数を使用して、同じクラス名のDIVから異なる値を取得するにはどうすればよいですか?

  10. 10

    tbody内のdata属性を使用して入力値を取得するにはどうすればよいですか?

  11. 11

    Vanilla Javascriptを使用して入力の合計値を取得するにはどうすればよいですか?

  12. 12

    jQueryを介してスパンから値を取得するにはどうすればよいですか?

  13. 13

    jqueryを使用して入力の値を合計するにはどうすればよいですか?

  14. 14

    jQueryを使用して動的に入力値を取得するにはどうすればよいですか?

  15. 15

    jQueryを使用してonchangeから入力値を選択するにはどうすればよいですか?

  16. 16

    ユーザーの入力を使用してオブジェクトから値を取得するにはどうすればよいですか?(Angularjs)

  17. 17

    特定の名前の次の入力を見つけて、jQueryを使用してその値を取得するにはどうすればよいですか?

  18. 18

    SQLを使用して、親からの値を子テーブルに入力するにはどうすればよいですか?

  19. 19

    文字列を介してクラスのオブジェクトから値を取得するにはどうすればよいですか?

  20. 20

    多重継承を使用していくつかの親クラス属性値を取得するにはどうすればよいですか?

  21. 21

    jqueryの異なるdivから入力の値を取得するにはどうすればよいですか?

  22. 22

    jqueryのクラスを使用して要素値を保存するにはどうすればよいですか?

  23. 23

    jqueryを使用してdivの値を取得するにはどうすればよいですか?

  24. 24

    jqueryを使用してラジオ入力からデータ値を取得するにはどうすればよいですか?

  25. 25

    jqueryを使用して動的入力テキストの値を取得するにはどうすればよいですか?

  26. 26

    jqueryとjavascriptを使用してクラス属性値を取得するにはどうすればよいですか?

  27. 27

    そのdivのボタンをクリックしてフィールドの入力値を取得するにはどうすればよいですか?

  28. 28

    別のクラスから取得した値を使用してクラスを更新/再初期化するにはどうすればよいですか?

  29. 29

    クラスを使用して要素の4番目の子の入力を取得するにはどうすればよいですか?

ホットタグ

アーカイブ