在 ajax 查询中从 div 获取数据

get data from div in ajax query

我对 ajaxjavascript 不是很熟悉,但我需要一些帮助,所以我会尽量解释清楚!

我有以下按钮 javascript:

$('#button-confirm').on('click', function() {
$.ajax({
    type: 'get',
    url: 'index.php?route=payment/leasing_plans/confirm',
    cache: false,
data:{
  egn:$('#input-payment-egn').val(),
  months: $('input[name=months]:checked').val()
},
    beforeSend: function() {
        $('#button-confirm').button('loading');
    },
    complete: function() {
        $('#button-confirm').button('reset');
    },
    success: function() {
        location = '<?php echo $continue; ?>';
    }
});

我有以下单选按钮:

   <td><div class="radio">
                        <label><input type="radio" name="months" value="tbi3"  />3 месеца x </label>
                    </div></td>
                  <td><div class="radio">
                        <label><input type="radio" name="months" value="uni3"  />3 месеца x </label>
                    </div></td>
                </tr>
                <tr>
                  <td><div class="radio">
                        <label><input type="radio" name="months" value="tbi6"  />6 месеца x </label>
                    </div></td>
                  <td><div class="radio">
                        <label><input type="radio" name="months" value="uni6"  />6 месеца x </label>
                    </div></td>
                </tr>
                <tr>
                  <td><div class="radio">
                        <label><input type="radio" name="months" value="tbi9"  />9 месеца x </label>
                    </div></td>
                  <td><div class="radio">
                        <label><input type="radio" name="months" value="uni9"  />9 месеца x </label>
                    </div></td>
                </tr>

我还有以下具有相同 id 的 div,例如单选按钮值:

 <div id="tbi3" class="leasecond">
    <input type="text" style="border: none;" readonly />Разсрочено плащане с TBI, вноски 3  30.36% <br>
    <p>Прочетох</p>
</div> 
<div id="uni3" class="leasecond">
    <input type="text" style="border: none;" readonly />Разсрочено плащане с UNI Credit, вноски 3  30.36% <br>
    <p>Правилата</p>
</div> 

<div id="tbi6" class="leasecond">
    <input type="text" style="border: none;" readonly />Разсрочено плащане с TBI, вноски 6 34.49% <br>
    <p>Прочетох и</p>
</div> 
<div id="uni6" class="leasecond">
    <input type="text" style="border: none;" readonly /> Разсрочено плащане с UNI Credit, вноски 6 x 34.49%  <br>
    <p>Правилата за ползване</p>
</div> 

但问题是我只获得所选 radio button 的值,我想获得 div 中与 id 相同的信息=17=] 名称已选择。 谢谢大家,如果我不明白我会更新我的问题!

一个足够简单的解决方案是在发布之前(在 $.ajax 命令之前)将所选收音机的值保存在变量中:

var selectedReadio = $('input[name=months]:checked').val();

然后您可以使用该值获取具有相同 ID 文本的 div:

var divCorresponding = $('#' + selectedReadio).text();

在你的问题中你提到得到相应的DIV的"information",这是我的理解,它的文本,所以我使用了.text() 在上面的例子中,但你可以通过这种方式获得它的任何属性。

我做了 2 处更改。您发送几个月的数据仅获取复选框的值,即保存数据的 div 的 id。所以我创建了一个变量来保存该 id,然后在数据部分使用 jquery 获取具有该 id 的 div,然后在 div 中获取输入的文本。

$('#button-confirm').on('click', function() {
  //add this line:
  var cbval = $('input[name=months]:checked').val();
  $.ajax({
    type: 'post',
    url: 'index.php?route=payment/leasing_plans/confirm',
    cache: false,
    data: {
      egn: $('#input-payment-egn').val(),
      //change this line to:
      months: $('#' + cbval).text()
    },
    beforeSend: function() {
      $('#button-confirm').button('loading');
    },
    complete: function() {
      $('#button-confirm').button('reset');
    },
    success: function() {
      location = '<?php echo $continue; ?>';
    }
});