0

我有一个从数据库加载值的编辑表单。一些值应该触发一个 div 来显示,当它们被改变时它会发生。但是,我希望加载 $mt 值以在页面加载时触发的选项值。这就是我到目前为止所拥有的。对不起,我的 Jquery 技能很可悲。

$('#selectEnum').load(function(){
    if($(this).find('[value="corporate"]'){
        $(#corporate).show();
    }
});

echo "<p>Please select member type: <select id=selectEnum class=\"box\" type=\"text\" name=\"coll_type\"><option value=\"$mt\">$mt<option>";
    $q = "SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'members' AND COLUMN_NAME = 'm_type'";
    $r = mysqli_query($dbc, $q);

    $row = mysqli_fetch_array($r);

    $enumList = explode(",", str_replace("'", "", substr($row['COLUMN_TYPE'], 5, (strlen($row['COLUMN_TYPE'])-6))));
    foreach($enumList as $value)
        echo "<option value=\"$value\">$value</option>";

    echo "</select></p>";   
?>

更新:这是与此选择输入相关联的 Jquery 的其余部分:

 $.enumList = {
  'family' : $([]),
  'institutional' : $('#institutional'),
  'corporate' : $('#corporate'),
  'other' : $('#other')
};

$('#selectEnum').change(function() {
  // hide all
  $.each($.enumList, function() { this.hide(); });
  // show current
  $.enumList[$(this).val()].show();
});
});
4

1 回答 1

1

你可以这样做:

$(document).ready(function() {
    if($('#selectEnum').val() == 'corporate')
        $('#corporate').show();    // Don't forget to surround the div id with quotes
});
于 2013-09-11T19:21:19.987 回答