如何使用jQuery获取选择值并传递给另一个函数

时间:2015-01-30 10:26:57

标签: javascript jquery html

我试图在点击按钮时获取选择输入的值,但是在我的生命中不能让它工作(长周)。

HTML

        <tr>
            <td>
              <%= select_tag :thermal, options_for_select(AdminPrinter.all.map{|ap| [ap.name, ap.ip_address]}) %><br /><br />
              <input id = "thermal-button" type='button' value='Print Thermal Receipt'  />
            </td>
        </tr>

jQuery - 到目前为止....

$("input#thermal-button").on("click", function(){
  var p = $(this).closest('select');

}); 

1 个答案:

答案 0 :(得分:0)

.closest()选择最近的父级。由于select只是一个兄弟而不是输入的父级,所以你不能像那样达到它。

在这种情况下,如果select在输入之前,您可以使用.prev()选择前一个元素。

var selval = $(this).prev('select').val();

如果不是,您可以通过ID选择它,也可以转到父级并搜索选择

var selval = $(this).closest('td').find('select').val();

或过滤<br>使用

var p = $(this).prevAll('select').val();

&#13;
&#13;
$("input#thermal-button").on("click", function() {
  var p = $(this).prevAll('select').val();
  alert(p);
});
&#13;
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tr>
    <td>
      <select>
        <option>okay</option>
      </select>
      <br />
      <br />
      <input id="thermal-button" type='button' value='Print Thermal Receipt' />
    </td>
  </tr>
</table>
&#13;
&#13;
&#13;