这是我的javascript代码(反斜杠用于转义):
<script type="text/javascript">
$(function(){
//datepicker
$(\'#start\').datepicker({
inline: true
});
});
</script>
相关的HTML:
<input type="text" name="start" id="start" class="hasDatepicker" />
它与jquery和jquery ui附带的示例代码基本相同。我认为可能是所有内容都被附加到一个名为$ content的变量中,并在最后回显而不仅仅是HTML。
我很欣赏这个难题的任何答案。
我或许应该更直观地了解我的代码是如何设置的,而不是最后解释它。这通常是它的外观:
$content .= '<script type="text/javascript">
$(function(){
//datepicker
$(\'#start\').datepicker({
inline: true
});
});
</script>';
我的HTML同样添加到$ content:
$content .= '<input type="text" name="start" id="start" class="hasDatepicker" />';
答案 0 :(得分:6)
你试过没有反斜杠吗?
<script type="text/javascript">
$(function(){
//datepicker
$('#start').datepicker({
inline: true
});
});
</script>
真的无法逃脱
和
您使用的是firebug还是其他任何网络调试工具?
答案 1 :(得分:5)
您的$content
变量将输出以下内容:
<script type="text/javascript">
$(function(){
//datepicker
$('#start').datepicker({
inline: true
});
});
</script>
这是按原样运行(假设您的网页没有问题):http://jsbin.com/oxekuw/2/edit
我建议您查看有关$
或datepicker
方法未找到的任何消息的控制台输出(通常可通过按F12访问)。这表明他们在链接jQuery或jQuery UI时遇到了问题。
如果需要,请使用以下内容作为模板。如果您想在那里进行测试,也可以在线获取:http://jsbin.com/oxekuw/3/edit
<!DOCTYPE html>
<html>
<head>
<title>Datepicker</title>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.19/jquery-ui.js"></script>
<script type="text/javascript">
$(function(){
//datepicker
$('#start').datepicker({
inline: true
});
});
</script>
</head>
<body>
<input id="start" type="text" />
</body>
</html>
在单引号封装的字符串中使用单引号时,您将转义。你不要逃离这里:
$(\'#start\'); // No-no
检查您的控制台输出,您可能会看到以下内容:SyntaxError: Unexpected token ILLEGAL
您可以在时间和地点转义选择器中的字符。以下是您何时逃避的示例:
$("input[name=\"foo\"]"); // Little more sensible
注意,双引号内的双引号。我们必须区分内部的和外部的,以便我们不会过早地终止字符串。
更好的解决方案是错开双/单引号。如果您在外部使用双引号,请在内部使用单引号:
$("input[name='foo']"); // Much easier on the eyes
答案 2 :(得分:0)
正如其他人所说,你的代码应该有效。
可能导致问题的一个常见问题是您有多个具有相同ID(id="start"
)的HTML元素。
答案 3 :(得分:-2)
是否有可能在创建输入元素之前运行datepicker()代码?