2012-11-28 39 views
0

这里是我的HTML:jQuery的:一个选择的一个选项都有空值

<select name="category" class="tri_cat"> 
<option value="">classer par catégories</option> 
<option value="1">label 1</option> 
<option value="2">label 2</option> 
<option value="9">label 3</option> 
<option value="3">label 4</option> 
<option value="4">label 5</option> 
<option value="5">label 6</option> 
<option value="6">label 7</option> 
<option value="7">label 8</option> 
<option value="8">label 9</option> 
</select> 

当我试图让选择使用jQuery的价值,一切工作正常:

console.log($('.tri_cat').val()); 

除对于标签5(又名值4),日志返回一个空字符串。

在其他情况下,日志返回正确的值。

在记录值之前,我在URL中检查一个散列值,并在存在值时更改值。这也正是我与输入值搞乱唯一的时刻:

$('.tri_cat').val(hash); 

这是我的一个总的奥秘:■

+1

这似乎是可疑的。它在这里工作得很好:http://jsfiddle.net/BrtuX/ –

+0

是的,上面没有错。这是选择的HTML复制和粘贴? – Archer

+4

我的直觉告诉我,你还没有提到的其他代码是干扰这个过程。 – jbabey

回答

0

我尝试用这个小提琴,添加一个按钮登录值时控制:

$("#btn").click(function(){ 
    console.log($('.tri_cat').val()); 
}); 

尝试在我的小提琴: http://jsfiddle.net/CPLK2/

在我的情况下,一切工作正常,为标签5

+0

它在维护上下文中(发现代码),这是一个HTML问题,包含这样一个选择的两个表单在表单中,具有相同的类和相同的ID。实际上,奇怪的部分是选择所有其他值,因为当我记录html()而不是val()时,我得到了第一个选择的html。 – SupFrig

+0

@SupFrig它取决于你正在使用的选择器,但是,这是一个奇怪的场景。 – Ian