获取数据属性值并设置相应元素的值

时间:2013-12-04 19:35:46

标签: jquery html5 addition

作为this question的后续行动并基于the answer,我做了类似的事情:http://jsfiddle.net/9r79f/1/

HTML:

<table>
    <tr>
        <td></td>
        <td>Title</td>
        <td>Title1</td>
        <td>Title2</td>
    </tr>
    <tr>
        <td>A</td> 
        <td><input type="text" /></td>
        <td><input type="text" /></td>
        <td><input type="text" /></td>
    </tr>
    <tr>
        <td>A1</td>
        <td><input type="text" class="sub" data-parent="A"/></td>
        <td><input type="text" class="sub" data-parent="A" /></td>
        <td><input type="text" class="sub" data-parent="A" /></td>
    </tr>
    <tr>
        <td>A2</td> 
        <td><input type="text" class="sub" data-parent="A"/></td>
        <td><input type="text" class="sub" data-parent="A"/></td>
        <td><input type="text" class="sub" data-parent="A" /></td>
    </tr>
    <tr>
        <td>B</td> 
        <td><input type="text" /></td>
        <td><input type="text" /></td>
        <td><input type="text" /></td>
    </tr>
    <tr>
        <td>B1</td>
        <td><input type="text" class="sub" data-parent="B"/></td>
        <td><input type="text" class="sub" data-parent="B" /></td>
        <td><input type="text" class="sub" data-parent="B" /></td>
    </tr>
    <tr>
        <td>B2</td> 
        <td><input type="text" class="sub" data-parent="B"/></td>
        <td><input type="text" class="sub" data-parent="B"/></td>
        <td><input type="text" class="sub" data-parent="B" /></td>
    </tr>
</table>

jQuery的:

$('input[type=text]').on('blur', function() {
        //alert($(this).val());
        calcA($(this));
});

function calcA(param){
        var finalresult = 0,
            $sub = param,
            $value = param.data('parent');

        $.each($sub, function(i) {
            var fiVal = parseFloat( $sub.eq(i).val() );

            if (fiVal) {
                finalresult += fiVal;
                $value.val( finalresult );
            }

        });
}

如何使用A1属性将A2 + A中第一行的值设置为data的第一行输入而不重复代码?对B等进行同样的操作?

1 个答案:

答案 0 :(得分:1)

您可以执行以下任一操作来获取data-parent属性:

var data_parent_value = $(param).attr('data-parent'); // A or undefined

在此JSFiddle中查看您的控制台:http://jsfiddle.net/9r79f/2/