jQuery Split下拉值

时间:2014-03-30 18:59:24

标签: javascript jquery

帮助需要拆分下拉值并将它们放在两个不同表中的输入中。

$(document).on('change', '[id^="SelID_"]', function () {
SplitSelectValue($(this));
});

function SplitSelectValue(obj) {
    var data = obj.find("option:selected").val();
    var arr = data.split('|');
    var tr = obj.closest('tr');
    tr.find("[id^='SelVala_']").val(arr[0]);
    tr.find("[id^='SelValb_']").val(arr[1]);
    tr.find("[id^='SelValc_']").val(arr[2]);
    tr.find("[id^='SelVald_']").val(arr[3]);
    tr.find("[id^='SelVale_']").val(arr[4]);
}

jsfiddle

2 个答案:

答案 0 :(得分:2)

像这样修改你的功能:

function SplitSelectValue(obj) {
    var data = obj.val();
    var arr = data.split('|');
    var tr = obj.closest('tr');
    tr.find(".SelVala_").val(arr[0]);
    tr.find(".SelValb_").val(arr[1]);
    tr.find(".SelValc_").val(arr[2]);

    var table2 = $('#AddFieldsToDebugDiv');
    var row = table2.find('tr:eq(' + tr.index() + ')');
    row.find(".SelVald_").val(arr[3]);
    row.find(".SelVale_").val(arr[4]);
}

SelVald_SelVale_转到第二个表的相应行。我也将id更改为类,因为id不能重复。

演示:http://jsfiddle.net/BE5Lr/3745/

答案 1 :(得分:0)

尝试用$

替换tr.find
function SplitSelectValue(obj) {
    var data = obj.find("option:selected").val();
    var arr = data.split('|');
    //var tr = obj.closest('tr');
    $("[id^='SelVala_']").val(arr[0]);
    $("[id^='SelValb_']").val(arr[1]);
    $("[id^='SelValc_']").val(arr[2]);
    $("[id^='SelVald_']").val(arr[3]);
    $("[id^='SelVale_']").val(arr[4]);
}

给我预期的结果