使用原型/ Javascript基于单选按钮获取表行

时间:2010-06-08 16:42:22

标签: javascript html radio-button html-table prototypejs

我有一个名称和单选按钮的html表:

<table id="cars">
  <thead>
    <tr>
      <th>Car Name</th>
      <th></th>
    </tr>
  </thead>
  <tbody>

    <tr>
      <td class="car">Ford Focus</td>
      <td><input type="radio" id="selectedCar" name="selectedCar" value="8398"></td>
    </tr>

    <tr>
      <td class="car">Lincoln Navigator</td>
      <td><input type="radio" id="selectedCar" name="selectedCar" value="2994"></td>
    </tr>

  </tbody>
</table>
<input type="button" value="Select Car" onclick="selectCar()"></input>

我希望能够选择一个单选按钮,然后单击另一个按钮并获取单选按钮的值(这是一个唯一的ID)以及汽车名称文本(如福特福克斯)。我该如何编写selectCar方法?我尝试过以下几件事:

val1 = $('tr input[name=selectedCar]:checked').parent().find('#cars').html();
val1 = $("td input[name='selectedCar']:checked").parents().find('.cars').html();
val1 = $('selectedCar').checked;

但我无法获得正确的价值。

我正在使用原型,但解决方案也可以是简单的Javascript。

1 个答案:

答案 0 :(得分:3)

All IDs have to be unique!

您可以尝试使用此HTML:

<tr>
  <td class="car">Ford Focus</td>
  <td><input type="radio" id="selectedCar1" name="selectedCar" value="8398"></td>
</tr>

<tr>
  <td class="car">Lincoln Navigator</td>
  <td><input type="radio" id="selectedCar2" name="selectedCar" value="2994"></td>
</tr>

在此之后,您可以使用以下方式进行测试:

val1 = $('selectedCar1').checked;

(返回truefalse)。

或者,如果您想抓取所选值,请使用getElementsByName

function getCarValue()
{
    var theCars = document.getElementsByName("selectedCar");
    var i = theCars.length;
    while (i--) {
        if(theCars[i].checked)
             return theCars[i].value;

    }
}