我有一个页面,其中包含几组用于设置选项的单选按钮.当单击特定的一个时,默认情况下使用单击事件处理程序选择其他人.功能完美,但按钮的视觉状态存在问题.
我正在使用jQueryUI的.buttonset()方法来改善美学,当我以编程方式触发.click()事件时,按钮不会在视觉上改变状态.这可能导致当前选项与屏幕上显示的选项完全不同.
用于说明问题的示例代码:
<fieldset>
<label for="button1">Button 1</label>
<input type="radio" id="button1" name="test" />
<label for="button2">Button 2</label>
<input type="radio" id="button2" name="test" />
</fieldset>
$('fieldset').buttonset();
$('#button2').click(function() {
alert('button 2 clicked');
});
$('#button2').click();
Run Code Online (Sandbox Code Playgroud)
我还设置了一个小提琴,这样你就可以看到它的实际效果,如果你愿意的话:http://jsfiddle.net/T5MGh/
正如您所料,警报框会在页面加载时弹出,但按钮不会像用户点击那样直观地更改.
有什么想法吗?
在为我的某个模型设置验证时,我无法获得"范围"规则的正确语法.每个变化似乎只传递(第一个)最小参数而不传递(第二个)最大值.
/**
* @var array Validation rules
*/
public function rules()
{
return array(
'title' => array(
array('not_empty'),
array('max_length', array(':value', 50)),
),
'time' => array(
array('not_empty'),
array('date'),
),
'date' => array(
array('not_empty'),
array('date'),
),
'limit' => array(
array('digit'),
array('range', array(':value', 1), array(':value', 255)),
),
);
}
Run Code Online (Sandbox Code Playgroud)
我也试着array('range', array(':value', array(1, 255)))
无济于事.
有什么建议?