2017-07-07 78 views
0

我在html页面中有一个选择输入字段。如果一个条件应该工作。选择的选项没有价值不起作用

<select id='selectopt'> 
    <option value="">Select<option> 
    <option value="1">1<option> 
</select> 


<input type="text" id='text1'> 



if($('#text1').val==='name'){ 
    $("#selectopt option[value='']").attr('selected', true); 
} 
else{ 
} 

,当我把这个情况中,如果其在Chrome和IE,但在Firefox不工作的工作..

+2

为什么你需要的JS时,你可以做'<期权价值=“”选择>选择

+0

@guradio可能是这个代码是一些事件处理中? –

+0

@SureshAtta也许除非OP给出额外的信息。我们只能猜测。 – guradio

回答

1

使用.prop()而不是.attr()

prop()

获取t中第一个元素的属性值他设置了匹配的元素或为每个匹配元素设置了一个或多个属性。

$("#selectopt option[value='']").prop('selected', true); 
0

你对一个字符串比较jQuery对象

$('#text1') === 'name' 

也许你想要比较这个对象的值吗?

$('#text1').val() === 'name' 

你也可以简化设置下拉值:

$( “#selectopt”)VAL( “”)

0
  1. 匹配的,如果条件值为$('#text1').val().trim()=== 'name'
  2. 和HTML语法错了</option>标签不打烊
  3. prop()代替attr()

if ($('#text1').val().trim()=== 'name') { 
 
    $("#selectopt option:empty").prop('selected', true); 
 
} else {}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id='selectopt'> 
 
    <option value="">Select<option> 
 
    <option value="1">1<option> 
 
</select> 
 

 

 
<input type="text" id='text1' value="name">
尝试