【发布时间】:2015-03-06 18:20:27
【问题描述】:
尝试使用 jQuery Validate 来验证下拉菜单。表单数据是使用 JSON 生成的。我可以在输入字段中添加“必填”,但似乎无法通过下拉菜单执行此操作。以下是我所拥有的,但它似乎不起作用。
有没有办法添加一个动作来确保用户选择一个选项?
JSON:
[
{
"caption": "Starting Calander Options",
"name": "overlay2",
"type": "select",
"id": "calander",
"options": {
"": "none",
"calendar13": "January 2015",
"calendar14": "February 2015",
"calendar15": "March 2015",
"calendar16": "April 2015",
"calendar17": "May 2015",
"calendar18": "June 2015",
"calendar19": "July 2015",
"calendar20": "August 2015",
"calendar21": "September 2015",
"calendar22": "October 2015",
"calendar23": "November 2015",
"calendar24": "December 2015"
}
},
]
jquery:
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js"></script>
<script type="text/javascript">
var jqnew = jQuery.noConflict();
jqnew("#stringForm").validate({
messages: {
calander: {
required: "Please select an option from the list, if none are appropriate please select 'Other'",
},
}
});
</script>
HTML:
<div class="leftArea">
<form id="stringForm">
<input type="hidden" value="" name="id" id="id"/>
<input type="hidden" id="new-profile" name="newprofile" value="yes"/>
<input type="hidden" id="text-name" name="text_name" value=""/>
</form>
<?php //echo $this->getChildHtml("customization_radio") ?>
<?php echo $this->getChild("customization_radio") -> setProduct($product)->toHtml() ?>
</div>
另外作为说明,我使用的是 Magento 框架 7
【问题讨论】:
-
你的框架,或者说缺少框架,和 JavaScript 完全没有关系。
select元素的 渲染 HTML 才是最重要的。
标签: jquery html json magento jquery-validate