小编Rea*_*ues的帖子

为什么我的第二个jQuery匿名函数在调用时不运行?

看看下面的这段代码:

$(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()因为我想在稍后添加一些更复杂的功能.

jquery

3
推荐指数
1
解决办法
168
查看次数

如何从Knockout.js中的复选框列表中仅选择一个复选框

我有以下代码的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实现上述逻辑?谢谢.

html javascript checkbox knockout.js

3
推荐指数
1
解决办法
1017
查看次数

为什么在不应该的情况下将重复的对象添加到我的 Python 集中?

我对此有一个类定义:

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。

我究竟做错了什么?如果我记录每个问题对象,我可以确认这些项目具有相同的属性值。

python set

3
推荐指数
1
解决办法
2276
查看次数

为什么C#中的异步调用需要声明,如果它们所在的方法已经使用'async'关键字声明?

现在,有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()方法,我可以追加?

c# linq architecture asynchronous

3
推荐指数
1
解决办法
206
查看次数

将sass编译成css需要我不断打开ruby命令提示符吗?

好吧,我对Ruby一无所知,我正在构建一个PHP网站,并决定尝试使用SASS作为CSS的替代品.我只安装了RubyInstaller,所以我可以使用SASS.

我下载了Ruby Installer for Windows,然后设置sass来观察我的项目并将.scss文件编译成.css文件,这有效,但是当我关闭终端时,它停止工作 - 所以我的问题是,我是否必须在更新我的scss/css文件时,保持Ruby终端或者其他任何东西都打开,如果我关闭它(例如在会话之间),我是否需要重新输入sass --watch thisfile:thisfile等等?

这似乎有点无意义,但我确定我在这里做错了什么,但我已经搜索了我的生活,似乎没有人提到它?

css ruby sass

2
推荐指数
1
解决办法
617
查看次数

使用regex/preg_match()检查十进制度数的坐标集是否有效

我已经学会了一些基本的正则表达式来润湿我的脚,但这对我来说仍然有点太复杂了.我需要以十进制度数取一组用户输入的坐标(示例):

$latitude = -42.323432
$longitude = 176.232123

并使用preg_match()PHP中的函数检查它们是否有效.看起来很简单,但我不能为我的生活编写正则表达式,以确保没有错误的数据通过.我将检查彼此的北向和东向分离,以便preg_match()使用foreach循环迭代两次.

我想我已经找到了所有必要的条件:

  • 第一个字符可以是减号,加号或数字.缺点和优点是可选的.
  • 小数点前的数字总数可以是1到3,但不是0或大于3.
  • 因此,第二位或第四位必须有小数点.(2.2332,-123.422)
  • 整个字符串中必须有一个小数点,整个字符串中可以有0或1个小数或加号.
  • 我希望在小数点后至少有3位小数的精度.没有最大限制(我只是将其自己舍入到6 dp)
  • 如果除了数字,小数点和可选的加号和减号之外还有任何字符,请拒绝它.

在此之后,我被困住了!在编写正则表达式时,将不胜感激.谢谢...

php regex validation preg-match

2
推荐指数
1
解决办法
2066
查看次数

为什么不能访问类的属性,但可以访问同一个类的方法?

我是 PHP 新手,每当我阅读良好实践(尤其是与 OOP 相关的实践)时,我经常会看到诸如“不要将局部变量暴露到全局空间,而是使用 getter 方法或检索方法”之类的说法。 。

我理解为什么我们不想污染全局命名空间,但是在什么时候调用 getter 方法只是为了访问一个简单的属性变得非常荒谬?我认为这表现出极大的虚伪。我们愿意公开和调用类定义之外的方法,但不愿意公开和调用简单变量?为什么是这样?方法不是更复杂吗?

如果我的困惑是错误的,请原谅我。我真的很想了解 OOP 最佳实践。

php oop

2
推荐指数
1
解决办法
1561
查看次数

使用基因敲除.js基于选择下拉菜单切换按钮状态

我有一个小的表格要添加逻辑,现在我一直在尝试根据下拉菜单的选定值在启用和禁用之间更改“添加”按钮的状态。

我的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处于禁用状态。但是,选择任何其他选项后,即可启用它。可选的文本字段应该无关紧要。

我该怎么做?

html javascript knockout.js

2
推荐指数
1
解决办法
1240
查看次数

如何在Knockout.js模板中使用jQuery?

我正在尝试使用嵌入在我的一个淘汰模板中的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时,如何定位元素?

html javascript jquery dom knockout.js

2
推荐指数
1
解决办法
3176
查看次数

使用Eloquent选择关系计数为零的所有记录?

用简单的英语:我有三张桌子.subscription_type有很多email_subscriptions有很多emails.

我想选择所有email_subscription具有特定记录subscription_type,也没有任何相关的email记录中有一个statusHeld.

我坚持的特定位只返回email_subscriptionsemails(在上面描述的附加的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语法?

php mysql sql laravel eloquent

2
推荐指数
1
解决办法
1480
查看次数