看看下面的这段代码:
$(document).ready(function() {
$('a.upvote-off').click(function() {
$(this).removeClass('upvote-off').addClass('upvote-on');
});
$('a.upvote-on').click(function() {
$(this).removeClass('upvote-on').addClass('upvote-off');
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个简单的jQuery切换函数,它删除一个upvote-off锚标记类,然后替换它upvote-on.同样,当再次点击相同的图标时,代码的第二部分会反转初始代码.锚标记的默认值是upvote-off.
该函数的第一部分运行:
$('a.upvote-off').click(function() {
$(this).removeClass('upvote-off').addClass('upvote-on');
});
Run Code Online (Sandbox Code Playgroud)
但是,第二个不起作用:
$('a.upvote-on').click(function() {
$(this).removeClass('upvote-on').addClass('upvote-off');
});
Run Code Online (Sandbox Code Playgroud)
然而,如果我注释掉第一部分,第二部分就可以了.为什么是这样?
请注意,我没有使用,.toggleClass()因为我想在稍后添加一些更复杂的功能.
我有以下代码的DOM结构:
<tr>
<td><label><input type="checkbox"></label></td>
</tr>
<tr>
<td><label><input type="checkbox"></label></td>
</tr>
... etc
Run Code Online (Sandbox Code Playgroud)
使用knockout.js,当我选择一个单选框,我希望能够突显只与背景色父行.现在,我设法实现的代码选择所有复选框并突出显示所有行,如此小提琴中所示.
值得注意的是,我拥有的行数是动态的,可能非常大,因此需要一个可扩展的解决方案.我已经尝试了解observableArrays的概念,但我并没有走得太远.
如何使用Knockout实现上述逻辑?谢谢.
我对此有一个类定义:
class Question:
title = ""
answer = ""
def __init__(self, title, answer):
self.title = title
self.answer = answer
def __eq__(self, other):
return self.title == other.title and self.answer == other.answer
def __hash__(self):
return hash(repr(self))
Run Code Online (Sandbox Code Playgroud)
我尝试将其中许多对象添加到集合中,前提是该对象不具有与集合中已有的任何其他对象相同的属性:
questionset = set()
q = Question(questionparts[0] + questionparts[1], questionparts[2])
if q not in questionset:
questionset.add(q)
Run Code Online (Sandbox Code Playgroud)
如果我有两个问题,每个问题都具有相同的属性值,我希望只有一个问题添加到我的集合中,而我的集合的长度为 2。
我究竟做错了什么?如果我记录每个问题对象,我可以确认这些项目具有相同的属性值。
现在,有99%的可能性,我发现的这个"挑剔"完全是由于我自己的无知 - 我是一个初级网络开发人员,他只偶尔接触过C#几个月,所以我提前道歉我的问题很可能是愚蠢的.我的大部分经验都是使用PHP和JS.
如果我有一个用async关键字声明的方法:
public async Task<ActionResult> Create(MyObject myObject)
{
}
Run Code Online (Sandbox Code Playgroud)
为什么我还必须明确指定LINQ语句是异步的,如下所示:
public async Task<ActionResult> Create(MyObject myObject)
{
if (ModelState.IsValid)
{
myObject.Id = Guid.NewGuid();
myObject.DisplayId = await db.MyObjects.MaxAsync(m => m.DisplayId) + 1;
db.MyObjects.Add(myObject);
await db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(myObject);
}
Run Code Online (Sandbox Code Playgroud)
难道C#编译器不能聪明地弄清楚因为该方法是异步的,我想在方法中执行的LINQ语句也应该是异步的吗?
我想我这个真牛的是,现在有大多数LINQ方法(异步双SaveChangesAsync,MaxAsync,FirstOrDefaultAsync),我不得不用await我想要执行这样的电话,每次关键字.这似乎过于冗长和不必要.
如果仍需要在通话的同步精细的控制,为什么没有C#开发人员只是允许的.Await(),.Async()或Sync()方法,我可以追加?
好吧,我对Ruby一无所知,我正在构建一个PHP网站,并决定尝试使用SASS作为CSS的替代品.我只安装了RubyInstaller,所以我可以使用SASS.
我下载了Ruby Installer for Windows,然后设置sass来观察我的项目并将.scss文件编译成.css文件,这有效,但是当我关闭终端时,它停止工作 - 所以我的问题是,我是否必须在更新我的scss/css文件时,保持Ruby终端或者其他任何东西都打开,如果我关闭它(例如在会话之间),我是否需要重新输入sass --watch thisfile:thisfile等等?
这似乎有点无意义,但我确定我在这里做错了什么,但我已经搜索了我的生活,似乎没有人提到它?
我已经学会了一些基本的正则表达式来润湿我的脚,但这对我来说仍然有点太复杂了.我需要以十进制度数取一组用户输入的坐标(示例):
$latitude = -42.323432 $longitude = 176.232123
并使用preg_match()PHP中的函数检查它们是否有效.看起来很简单,但我不能为我的生活编写正则表达式,以确保没有错误的数据通过.我将检查彼此的北向和东向分离,以便preg_match()使用foreach循环迭代两次.
我想我已经找到了所有必要的条件:
在此之后,我被困住了!在编写正则表达式时,将不胜感激.谢谢...
我是 PHP 新手,每当我阅读良好实践(尤其是与 OOP 相关的实践)时,我经常会看到诸如“不要将局部变量暴露到全局空间,而是使用 getter 方法或检索方法”之类的说法。 。
我理解为什么我们不想污染全局命名空间,但是在什么时候调用 getter 方法只是为了访问一个简单的属性变得非常荒谬?我认为这表现出极大的虚伪。我们愿意公开和调用类定义之外的方法,但不愿意公开和调用简单变量?为什么是这样?方法不是更复杂吗?
如果我的困惑是错误的,请原谅我。我真的很想了解 OOP 最佳实践。
我有一个小的表格要添加逻辑,现在我一直在尝试根据下拉菜单的选定值在启用和禁用之间更改“添加”按钮的状态。
我的DOM标记如下:
<div>
<select data-bind="options: myOptions, optionsText: 'UserName', optionsValue: 'UserId', optionsCaption: 'Select...'"></select>
<input type="text" class="optional" />
<input class="addButton" type="submit" name="addButton" value="ADD" data-bind="enable: addButtonState" />
</div>
Run Code Online (Sandbox Code Playgroud)
我当前的Knockout.js代码如下:
self.addButtonState = ko.observable(false);
self.toggleAddButtonState = function () {
// Some logic to go here
}
Run Code Online (Sandbox Code Playgroud)
如您所见,下拉菜单的默认值为select...。当显示此默认值时,我希望addButton处于禁用状态。但是,选择任何其他选项后,即可启用它。可选的文本字段应该无关紧要。
我该怎么做?
我正在尝试使用嵌入在我的一个淘汰模板中的jQuery来定位元素:
<script type="text/html" id="video-file-template">
<div class="video" data-bind="attr: { 'data-index': $index }">
</div>
</script>
Run Code Online (Sandbox Code Playgroud)
然而,当我尝试$('.video')使用jQuery 选择包装在文档就绪函数中时,我得到一个长度为0的对象:
$(document).ready(function() {
console.log($('.video')); // Returns an object with a length of 0
});
Run Code Online (Sandbox Code Playgroud)
为什么是这样?是因为在评估我的jQuery脚本时,该元素不是DOM的一部分?如果是这样,当通过Knockout.js将元素加载到DOM时,如何定位元素?
用简单的英语:我有三张桌子.subscription_type有很多email_subscriptions有很多emails.
我想选择所有email_subscription具有特定记录subscription_type,也没有任何相关的email记录中有一个status的Held.
我坚持的特定位只返回email_subscriptions零emails(在上面描述的附加的where子句).
使用Eloquent,我已经能够得到一些方法,但我不知道如何选择关系计数为零的所有记录:
$subscriptionsWithNoCorrespondingHeldEmail = EmailSubscriptions::whereHas('subscriptionType', function($q) {
$q->where('name', 'New Mission');
})-; // What do I chain here to complete my query?
Run Code Online (Sandbox Code Playgroud)
另外,Eloquent甚至可以实现这一点,还是需要使用Fluent语法?
html ×3
javascript ×3
knockout.js ×3
php ×3
jquery ×2
architecture ×1
asynchronous ×1
c# ×1
checkbox ×1
css ×1
dom ×1
eloquent ×1
laravel ×1
linq ×1
mysql ×1
oop ×1
preg-match ×1
python ×1
regex ×1
ruby ×1
sass ×1
set ×1
sql ×1
validation ×1