jquery:下拉菜单中的var-if语句

时间:2012-12-04 08:00:13

标签: jquery drop-down-menu if-statement var

我为下拉菜单应用了替换,并且jQuery替换保持为空,因为select-option-form的预选值未定义(值是动态生成的)。当我点击替换并选择一个选项时,它可以正常工作。以下是替换代码的摘录,我认为它是导致错误的原因:

function createDropDownSF(){
  var searchForm_type = $("#searchForm_type");
  var selected = searchForm_type.find("option[selected]");
  var options = $("option", searchForm_type);

因此我尝试使用此代码扩展函数,以使函数在没有选定值时使用第一个选项,但它不起作用:

if (selected.is("undefined")) {
    searchForm_type.find("option")[0];
}

有没有人有想法?

3 个答案:

答案 0 :(得分:0)

我首先尝试从所选的选项中获取一个列表并检查长度是否> 0

 $("select option:selected").length > 0

然后你可以使用JQuery来选择第一个选项。

$('select option').first().attr('selected', true);

答案 1 :(得分:0)

你的意思是这样吗?

function createDropDownSF(){
  var searchForm_type = $("#searchForm_type");
  var selected = searchForm_type.find("option[selected]");
        $("select option:selected").length > 0;
        $('select option').first().attr('selected', true);
  var options = $("option", searchForm_type);

答案 2 :(得分:0)

<select id="test">
<option>1</option>
<option>2</option>
<option selected="selected">3</option>
<option>4</option>

$(function () {

    if ($("#test option:selected").length > 0) {
        // something is selected
        alert("selected");
    } else {
        // nothing is selected
        $('#test option').first().attr('selected', true);
    }
});

我不知道如何设置没有选择值的选择,但此代码应该有效。