if ($('#inputRoom option:selected').text() == null || $('#inputRoom option:selected').text() == "")
{
$('#inputRoom option').eq(0).attr('selected', 'selected');
}
我试图通过jquery知道用户是否已经在我的html select元素中选择了一个选项。如果还没有,我会自动将所选值设置为第一个选项。但是,这不起作用。
我这样做的方式是否正确?
注意:当我通过$('#inputRoom').ready(....)
加载select元素时,我用我从数据库中获得的数据填充我的select元素:
更新:它现在工作正常......欢乐和felix都是正确的...此外,我发现我的淘汰代码的定位也导致了一些问题...修复它...谢谢......
var trueData = JSON.stringify(data).substring(10, (JSON.stringify(data).length - 2));
var rooms = trueData.split(',');
$('#inputRoom').empty();
$.each(rooms, function (index, value) {
$('#inputRoom')
.append('<option value="' + value.substring(1, value.length - 1) + '">' +
value.substring(1, value.length - 1) + '</option>');
});
答案 0 :(得分:1)
您可以使用$.val代替
if (!$('#inputRoom').val())
{
$('#inputRoom option:first').attr('selected', 'selected');
}
注意强>
正如@Felix Kling在评论中所说,如果你没有任何空选项,那么你不需要这样做,默认情况下会选择第一个选项。
答案 1 :(得分:0)
$(function(){
if (($("#inputRoom").val()=="") ||($("#inputRoom").val()=="0") )
{
$('#inputRoom option').eq(1).attr('selected', 'selected');
}
});
假设您的SELECT
元素是这样的
<select id="inputRoom">
<option value="0" selected></option>
<option value="1">1</option>
<option value="2" >3</option>
</select>