我仍然试图了解Javascript是如何包装在Seaside的,说我有以下查询:
(html jQuery: '#myId') hasClass: 'myClass'
如何从中获得真假?例如在我的情况下,我希望能够做到:
html anchor
onClick:
(((html jQuery: '#myId')
hasClass: 'myClass')
ifTrue: [doSomething]
ifFalse: [doSomethingElse]);
with: 'Magic Stuff!'
这样做的海边方式是什么?
谢谢!
答案 0 :(得分:5)
取决于您希望在客户端或服务器上执行决策的位置?
决定并在客户端执行操作
您可以使用
((html jQuery: '#myId') hasClass: 'myClass')
then: aTrueExpression
else: aFalseExpression
其中aTrueExpression' and
aFalseExpression'是其他(jQuery)JavaScript表达式。
决定并在服务器上执行操作
将表达式的结果序列化为AJAX回调并在Smalltalk端执行操作:
html jQuery ajax
callback: [ :value |
value = 'true'
ifTrue: [ " true block " ]
ifFalse: [ " false block " ] ]
value: ((html jQuery: '#myId') hasClass: 'myClass')