【问题标题】:How to update a textarea's text relative to a checked radio button?如何相对于选中的单选按钮更新文本区域的文本?
【发布时间】:2014-07-29 00:07:27
【问题描述】:
  1. 将使用选定的下拉列表填充文本区域的文本 文本。

  2. 一个简单的单选按钮列表将确定应使用哪个下拉列表的文本。

CLICK HERE FOR DEMO

下面的代码创建了所需的效果,但没有在选择备用单选按钮值时做出预期的更改。

进行新选择时,不会将选中的调试显示添加到无线电输入中。

JQUERY

var rbl = $('#rbl input:checked').val();

$('#ddlA1,#ddlB1').change(function () {
    if (rbl = 1) {
        $('#txt').val($('#ddlA1 :selected').text());        
    } else if (rbl = 2) {
        $('#txt').val($('#ddlB1 :selected').text());        
    }
});

HTML

<span id="rbl">
    <input type="radio" id="rbl_0" name="rbl" value="1" /> 1 <br />
    <input type="radio" id="rbl_1" name="rbl" value="2" /> 2 <br />
</span>

<select id="ddlA1">
    <option value="1">A1 A</option>
    <option value="2">A1 B</option>
    <option value="3">A1 C</option>
</select>
<select id="ddlB1">
    <option value="1">B1 A</option>
    <option value="2">B1 B</option>
    <option value="3">B1 C</option>
</select>

<textarea id="txt">LOAD TEXT</textarea>

【问题讨论】:

    标签: javascript jquery html drop-down-menu radio-button


    【解决方案1】:

    你的代码是正确的,但你需要修改一些小东西;)

    $('#ddlA1,#ddlB1').change(function () {
        var rbl = $('#rbl input:checked').val();
        if (rbl == 1) {
            $('#txt').val($('#ddlA1 :selected').text());        
        } else if (rbl == 2) {
            $('#txt').val($('#ddlB1 :selected').text());        
        }
    });
    
    1. rbl 变量放入更改事件中
    2. 在条件句中使用 == 而不是 =

    http://jsfiddle.net/3kXsX/5/

    就是这样!

    最好的问候,

    【讨论】:

    • 我知道我已经很接近了,但我无法确定。我也尝试了这两件事;只是不在一起。非常感谢 jc
    【解决方案2】:

    类似的东西

    $('#rbl_0, #rbl_1, #ddlA1, #ddlB1').on('change', function() {
        var dropdown = $($('#rbl_0').is(':checked') ? '#ddlA1' : '#ddlB1');
        $('#txt').val(dropdown.find('option:selected').text());
    });
    

    FIDDLE

    【讨论】:

      【解决方案3】:

      rbl 的值在该行代码运行时设置一次,并且如果选定的收音机发生更改,则不会更新。将var rbl = ... 行放在事件处理程序中,以便在对下拉列表进行更改时检查无线电,即

      $('#ddlA1,#ddlB1').change(function () {
          var rbl = $('#rbl input:checked').val();
          if (rbl = 1) {
              $('#txt').val($('#ddlA1 :selected').text());        
          } else if (rbl = 2) {
              $('#txt').val($('#ddlB1 :selected').text());        
          }
      });
      

      【讨论】:

      • 这很有帮助,谢谢。还需要 jcgarcia 提到的修复。
      猜你喜欢
      • 2016-10-30
      • 2015-03-09
      • 1970-01-01
      • 2013-12-29
      • 2014-11-29
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多