2011-05-13 173 views
0

我希望有一个代码,用于选择一个单选按钮中提供的超链接时,我将选择代码,用于选择一个单选按钮时,我将选择同一行

在同一行中设置的超链接

收音机1 groupcode1 mappedusers mappeddomains mappedroles 第二广播电台groupcode2 mappedusers mappeddomains mappedroles radio3 groupcode3 mappedusers mappeddomains mappedroles

这里mappedusers mappesdomains和mappedroles是提供给groupcode超链接。 如果我将选择任何链接,应选择同一行中的单选按钮。

+0

你能提供实际的代码吗? – tradyblix 2011-05-13 02:49:16

回答

0

很难说肯定没有看到一些代码,但使用jQuery你可以做这样的事情:

$(document).ready(function() 
{ 
    $("a.MappedRoles").click(function (e) 
    { 
     $(this).siblings("input.Select").attr("checked", "checked"); 
    }); 
}); 

这将附加到click事件的“映射角色”链接(假设你给他们班级“MappedRoles”)。点击一个链接时,会找到一个兄弟姐妹,它是一个input,并带有“Select”类 - 然后通过添加“checked”属性进行检查。

发布您的代码,如果您无法完全了解,可以针对您的情况开展工作。

0

而在普通的js中,您可以在表上添加一个侦听器来查看点击的来源。 :

<script type="text/javascript"> 

// A helper functions 

// Return ancestor of el with tagname or 
// undefined if no such parent 
function upTo(el, tag) { 
    tag = tag.toLowerCase(); 
    do { 
    el = el.parentNode; 
    } while (el && el.tagName && el.tagName.toLowerCase() != tag) 

    return el.tagName? el : null; 
} 


// Check first radio button in row of clicked link 
function doRadioThing(el, evt) { 

    // Helper function, specific to this fn so 
    // keep local 
    function getFirstRadio(el) { 
    var inputs = el.getElementsByTagName('input'); 
    for (var i=0, iLen=inputs.length; i<iLen; i++){ 
     if (inputs[i].type == 'radio') return inputs[i]; 
    } 
    } 

    // Get ref to element clicked on 
    var src = evt.target || evt.srcElement; 

    // Only proceed if it was an A element: 
    if (src && src.tagName && src.tagName.toLowerCase() != 'a') return; 

    // Get parent TD 
    var cell = src && upTo(src, 'td'); 

    // Get parent TR 
    var row = cell && cell.parentNode; 

    // Get first radio button in row 
    var inp = row && getFirstRadio(row); 

    // Uncheck first radio button in each row if there is one 
    // so only the one in the row that was clicked on is checked 
    // May not be a requirement 
    var rows = el.rows; 
    for (var i=0, iLen=rows.length; i<iLen; i++) { 
    var radio = getFirstRadio(rows[i]); 
    radio && (radio.checked = false); 
    } 

    // Check input in row of clicked link if there is one 
    inp && (inp.checked = true); 
} 

</script> 



<table onclick="doRadioThing(this, event);"> 
    <tr> 
    <td><input type="radio" id="r0"> 
    <td><a href="#">mappedusers</a> 
    <td><a href="#">mappesdomains</a> 
    <td><a href="#">and mappedroles</a> 
    <tr> 
    <td><input type="radio" id="r1"> 
    <td><a href="#">mappedusers</a> 
    <td><a href="#">mappesdomains</a> 
    <td><a href="#">and mappedroles</a> 
</table>