在jQuery中更改Wordpress表单上的单选按钮标签

时间:2012-11-14 17:25:10

标签: jquery wordpress

我有一个带有单选按钮输入标签和值的Wordpress表单,我需要根据另一个字段的输入动态生成。

我无法控制表单的生成方式(不插入插件,时间对我很反对,所以我只需要快速解决方案)

Wordpress正在生成html如下

<input type="text" name="vfb-22" id="vfb-4-50-22" value="" class="vfb-text  vfb-medium number" />
<label for="vfb-4-50-22" class="vfb-desc">Number * 4.50:></label>     

<span>
  <input type="radio" name="vfb-28" id="vfb-and-then-28-1" value="4.50" class="vfb-radio inline" /> 
  <label for="vfb-and-then-28-1" class="vfb-choice">4.50</label>
</span>

如果有人在字段A中输入值(vfb-22)。我需要jQuery将输入单选按钮和标签的值更改为A *当前值

我目前获得所有相关数据并正确更新另一个字段(vfb-42),如下所示

$('#vfb-monthly-tickets-4-50-each-86').change(function() { 
  var number=$('input[name=vfb-86]').val();
  var multiplier=4.50;
  total=number*multiplier;
  $('input[name=vfb-42]').val(total);
})

我所缺少的是改变单选按钮(vfb-28)的值。我有一些刺,没有任何成功的标签。

感激任何想法

2 个答案:

答案 0 :(得分:1)

如果HTML总是以这种方式结构化......你可以试试这个

$('.vfb-text').on('change' , function() {  // change event of textbox
  var $this = $(this);      // cache the selector

  var count = this.value ;  // textbox value
  var cost = $this.nextAll('span:first').find('.vfb-choice').text(); 
  // Label text value
  total=number * cost ;

  $this.next('vfb-desc').text(total);    // populate label
  $this.nextAll('span:first').find('.vfb-radio').val(total); 
  // new value of checkbox
});

答案 1 :(得分:0)

不可否认,这只是您自己方法的重构,但您可以尝试:

$('input[name=vfb-22]').change(function() { 
  var number=$('input[name=vfb-22]').val();
  var current = $('input[name=vfb-28]').val();

  total=number*current;

  $('input[name=vfb-22]').val(total);
  $('.vfb-choice').text(total);
});