如何获取表中的选定值

时间:2016-12-06 14:17:39

标签: jquery html-table

我在这里使用桌子。在这里,我想采取两个值:

  1. 状态
  2. 状态
  3. 这里第一行我选择状态二意味着我得到正确答案,如状态是TN和状态2,假设我选择三种方式我将得到统计TN和状态3,现在进入第二行现在我选择状态是两个但我和#39;得到答案状态是KAR(这是正确的),但状态是1(这是错误的)

    
    
    function checkbox(_this) {
      alert($(_this).closest('tr').find('#state').text());
      var p_status = $('.status :selected').val();
      console.log(p_status);
    } 
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
      <table>
        <tr>
          <td id="idVal"> 1 </td>
          <td id="state"> TN </td>
          <td class="status">
            <!--<input type="checkbox" onchange="checkbox(this)"/>-->
            <select class="form-control"  onchange="checkbox(this);" style="width:150px;">
              <option value="1">one</option>
              <option value="2">two</option>
              <option value="3">three</option>
            </select>
          </td>
        </tr>
     
        <tr>
          <td id="idVal"> 2 </td>
          <td id="state"> KAR </td>
          <td class="status">
            <!--<input type="checkbox" onchange="checkbox(this)"/>-->
            <select class="form-control"  onchange="checkbox(this);" style="width:150px;">
              <option value="1">one</option>
              <option value="2">two</option>
              <option value="3">three</option>
            </select>
          </td>
        </tr>
      </table>
    &#13;
    &#13;
    &#13;

2 个答案:

答案 0 :(得分:2)

function checkbox(_this)
	{
  alert($(_this).closest('tr').find('#state').text());
  var p_status = $('.state :selected').val();
  console.log(p_status);
  } 


function checkbox_status(_this)
	{
  alert($(_this).closest('tr').find('#status').text());
  var p_status = $('.status :selected').val();
  console.log(p_status);
  } 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>

	<tr>
	
	<td id="idVal">
	  1
	</td>
	
	<td id="state">
      TN
    </td>
	
	<td class="state">
     <!--<input type="checkbox" onchange="checkbox(this)"/>-->
	<select class="form-control"  onchange="checkbox(this);" style="width:150px;">
		<option value="1">one</option>
		<option value="2">two</option>
		<option value="3">three</option>
	</select>
    </td>
    </tr>
 
    <tr>
    <td id="idVal">
      2
    </td>
	
	<td id="status">
      KAR
    </td>
	
	<td class="status">
    <!--<input type="checkbox" onchange="checkbox_status(this)"/>-->
	<select class="form-control"  onchange="checkbox_status(this);" style="width:150px;">
		<option value="1">one</option>
		<option value="2">two</option>
		<option value="3">three</option>
	</select>
    </td>
	
    </tr>
  </table>

答案 1 :(得分:0)

我想你应该使用这个:

function checkbox(_this){
  var p_state  = $(_this).closest('tr').find('#state').text(); // get the text
  var p_status = _this.value; // get the selected value
  console.log(p_status);
}

在您的代码中,问题是jQuery类选择器返回所有找到的项的列表。因此,您必须使用this进入选择器的上下文。