2

2つの入力があります。デフォルト値が含まれている場合は、灰色のテキストが表示されるようにしたいと思います。最初の入力は機能しますが、入力がダイアログにある場合、CSSは最初は適用されません。ダイアログが開いたときにjQueryを介してCSSを適用できると思いますが、これを行う必要はないようです。助言がありますか?

http://jsfiddle.net/pwdB5/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 
<title>Testing</title>  
<script src="http://code.jquery.com/jquery-latest.js"></script> 
<link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/ui/jquery-ui.js"></script> 
<style type="text/css">
input.filter {
    color: #929292;
    font-size: 0.7em;
    width: 120px;
}
</style> 
<script> 
$(function(){

    $('.default-value').each(function() {
        var $t=$(this), default_value = $t.value;
        $t.focus(function() {
            $t.css('color','black');
            if(this.value == default_value) {
                $t.val('');
            }
        });
        $t.blur(function() {
            $t.css('color','#929292');
            if($.trim(this.value) == '') {
                $t.val(default_value);
            }
        });
    });

    $("#open").click(function() {$("#dialog").dialog("open");});
    $("#dialog").dialog({
        autoOpen    : false,
        modal       : true,
        open : function() {$('#dialog').find('input.filter').val('look up trade');}
    });

});
</script>
</head>

<body>
<button id="open">Click</button>
<input type="text" value="default value2" class="default-value filter" name="value2" />

<div id="dialog" title="dialog">
<input type="text" value="default value1" class="default-value filter" name="value1" />
</div>

</body> 
</html> 
4

1 に答える 1

2

それは、適用されていないように見えますstyle-なぜなら、フィールドが焦点を合わせているからです。

これを試して:

$("#dialog").dialog({
    autoOpen    : false,
    modal       : true,
    open : function() {$('#dialog').find('input.filter').val('look up trade').blur();}
});
于 2012-06-10T14:29:08.667 に答える