在单选按钮上显示文本区域并将其值存储在数组中

时间:2014-03-31 11:18:18

标签: javascript jquery

继上一次帮助后,我遇到了这个问题,希望这是最后一次。

我有这一行的单选按钮并点击每个按钮获取它的父div及其值的id(行id)并将其放入文本区域,例如14001290~01~01:CD2,15489587~03 ~01:CM(之前的任何内容:是行ID,后面是无线电的值)

还有悬停显示/隐藏,并且选中了单选按钮的计数。

完成上述部分(需要稍微更改而不是逗号|需要作为分隔符)。现在需要做的是 - 当选中Missing Radio按钮时,显示文本区域并输入其中的文本需要添加到行id和单选按钮值。

当前输出
47596528~02~03:CM,78965822~01~02:CD1
现在需要输出例如:

必填
14001290~01~01:CD2:地址丢失| 15489587~03~01:CM:缺少付款| 78965822~01~02:CD1:证书丢失。

(逗号需要替换为|)

FULL CODE HERE

$("input:radio").click(function () {
    $(this).parent().parent().find('.r-title, .m-notes').hide();
    var totalRd = $('table').find(':not(.pend) > input:radio:checked').length;
    var clicked =[];
    $("#totalRd .rd-count").html(totalRd);
    $(this).siblings('.r-title, .m-notes').show(); 
    $('table').find(":not(.pend) >input[type=radio]:checked").each(function() {
        var selectedId = $(this).parent().parent().attr('id'); //gets the row id
        clicked.push(selectedId+":"+this.value); //adds the row id and value of radio
        $(".m-notes").keyup(function(){
            var mNotes = $(this).val();
            $('#output').text(mNotes);
        });
    }); //checked
    $("#inputhere").val(clicked);
});

非常欢迎任何新方法。

**** 更新 * ** < EM> *

尝试了很多方法,但没有运气。大师可以帮助我或向我展示方向吗?我不介意完全重写代码。

1 个答案:

答案 0 :(得分:0)

这是你需要的吗?在这里,我已经禁用了输入,单击单选按钮或更改,但您可以根据您的要求进行修改。

<强> HTML:

<input type="radio" id="r1" value="1" name="someRadioGroup" checked="true"/>R1
<input type="text" id="r1edit" value="Enter your name"/><br/> 
<input type="radio" id="r2" value="2" name="someRadioGroup"/> R2<br/>
<input type="radio" id="r3" value="3" name="someRadioGroup"/> R3<br/>
<textarea id="log" style="width: 400px;" value=""></textarea>

<强> JS:

$(document).ready(function () {
    $("input[name=someRadioGroup]:radio").change(function () {
        if ($("#r1").attr("checked")) {
            $('#r1edit:input').removeAttr('disabled');
        }
        else {
            $('#r1edit:input').attr('disabled', 'disabled');
        }
        $('#log').val($('#log').val()+ $(this).val() + '|');
    })
});