将onclick功能分配给具有相同ID的单选按钮

时间:2014-10-06 19:07:06

标签: javascript jquery html onclick

这是我的onclick事件:

<script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery("#qual_years_<?php echo $qualification['hash'];?>").hide();
         jQuery("#qual_<?php echo $qualification['hash'];?>").on('click',updateYears);
});

以下是我的单选按钮:

<input type="radio" style="width:inherit;" id="qual_'.$qualification['hash'].'" name="qual_'.$qualification['hash'].'" value="1"/>
<input type="radio" style="width:inherit" id="qual_'.$qualification['hash'].'" name="qual_'.$qualification['hash'].'" value="0"/>

这是我的职能分配:

function updateYears()
 {
    var id = '#qual_years_'+jQuery(this).attr('id').replace('qual_','');                
    if(jQuery(this).val() != 1){            
        jQuery(id).hide();
    } else {
        jQuery(id).show();
    }
 }

问题是,它只会附加到第一个输入。如何将其附加到radio inputs。我不能给两个单独的id作为后端处理帐户的一个id。

2 个答案:

答案 0 :(得分:0)

使用.each()方法,这是一个示例:

<ul>
  <li>foo</li>
  <li>bar</li>
</ul

$( "li" ).each(function( index ) {
  console.log( index + ": " + $( this ).text() );
});

OFFICIAL DOCS

了解详情

干杯!!

答案 1 :(得分:0)

你正在混淆名称和身份。这两个元素不应该具有相同的id。如果它们是同一个放射性组的一部分,它们应该具有相同的名称。这意味着当您将表单提交到后端时,它始终基于名称而不是ID。因此,当您根据后端中的名称访问单选按钮时,它将返回表单提交时选择的单选按钮的值。