筛选选择下拉列表的字符串

时间:2013-06-14 20:51:26

标签: jquery jquery-selectors

我有一个如下所述的选择列表:

<select id="edit-type" class="form-select ajax-processed valid" name="type">
   <option selected="selected" value="text">Text</option>
   <option value="select">Drop Down List</option>
   <option value="file">Single File Submission</option>
   <option value="license">License</option>
</select>

我想用jQuery来查找这个select元素,但我想使用name属性来查找它(不是id或class属性,因为它们可能会改变)。我尝试了以下操作但它不起作用:

$(':select[name="type"]').live('change', function() {....

我是JavaScript的新手,所以我想我错过了一些基本的东西。我认为这会奏效。我可以不使用:select[name="type"]作为选择器吗?

2 个答案:

答案 0 :(得分:0)

在选择器

之前删除:
$('select[name="type"]').live('change', function() {....

$(':input[name="type"]').live('change', function() {.... // if you have any other input with the same it will select that too. SO better to go with first option. 

另请确保此信息位于$(document).ready(function(){...});

请参阅:

只需在:input

上更新您的问题

:input

来自doc

  

:输入选择器基本上选择所有表单控件。   因为:input是jQuery扩展而不是CSS规范的一部分,使用:input的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。要在使用时获得最佳性能:输入选择元素,首先使用纯CSS选择器选择元素,然后使用.filter(“:input”)。

答案 1 :(得分:0)

我认为以下代码可能有所帮助:

您可以使用以下命令查找元素:

   $('select[name="type"]').live('change', function() 

要获得选择的选项,您可以使用:

$('select[name="type"] option:selected').text();
$('select[name="type"] option:selected').val(