如果我有一个选择框,文本选择(插入插件类型)
例如,使用文本“Select Case and Clip”作为默认选项以及其他5个选择框,我想仅在没有选择框包含单词“Select”时验证此表单。
这是使用Virtuemart,并且无法确保正确选择选项。
我的想法是,使用上面的方法,在提交
上的选项文本中找到值Select <select name="customPrice[0][27]" id="customPrice027">
<option value="265">Select Case & Clip</option>
<option value="266">$25.00 - Black - Large - 1</option>
<option value="267">$0.00 - Black - None - 2</option>
<option value="268">$10.00 - Beige - Small - 3</option>
<option value="269">$20.00 - Beige - Large - 4</option>
<option value="270">$0.00 - Beige - None - 5</option>
<option value="271">$10.00 - Blue - Small - 6</option>
<option value="272">$20.00 - Blue - Large - 7</option>
<option value="273">$0.00 - Blue - None - 8</option>
<option value="274">$10.00 - Gray - Small - 9</option>
<option value="275">$20.00 - Gray - Large - A</option>
<option value="276">$0.00 - Gray - None - B</option>
<option value="277">$20.00 - Red - Large - R</option>
<option value="278">$20.00 - Olive Drab - Large - D</option>
</select>
我的问题是这是动态生成的,所以我无法验证并让第一个选项包含0值。
我认为使用regEx可能是我在帖子中找到“选择”一词的方法。
道歉,如果这是愚蠢的(我是jQuery的初学者)。
下面是我的代码,尝试添加一个控制台消息,说明有一个选择框,文本中包含“选择”
$(document).ready(function () {
if ($("select").indexOf("Select") >= 1) {
console.log('Select is Selected');
}
});
这里有指针吗?我也希望在允许它这样做之前按下提交按钮进行验证。
我的代码是依赖的,必须在选择按钮时停止表单提交。我知道提交按钮的ID,类型,名称,标题和值(预定义)
这是6个盒子中的一个,所有相同的条件适合并触发此消息。
这是我的代码,它不会停止提交。如果需要网站示例,我可以在私人消息中发送链接。
$(document).ready(function () {
$( ".addtocart-button" ).click(function() {
if($("option:contains('Select')").length){
event.preventDefault();
console.log("Select found");
}
});
});
答案 0 :(得分:0)
使用contains选择器
$("form").submit(function(e){
if($("#customPrice027 option:selected:contains('Select')").length){
e.preventDefault();
alert("found");
}
});
JS小提琴: http://jsfiddle.net/QcEbL/1/
修改后可使用您提供的代码
$( ".addtocart-button" ).click(function(e) {
if($("#customPrice027 option:selected:contains('Select')").length){
e.preventDefault();
console.log("Select found");
}
});
JS小提琴: http://jsfiddle.net/QcEbL/2/
答案 1 :(得分:0)
如果您可以使用option text
value
在选择框中查找选择字
$('#sub').on('click', function() {
var selectval = $('#customPrice027').val();
if(selectval == '265') {
alert("Gotcha!");
}
});
请参阅fiddle
希望它有所帮助!
答案 2 :(得分:0)
听起来您希望用户选择默认值以外的其他内容,如果是这样,请检查所选选项的文本
var valid = true;
$('select').each(function() {
if ($('option:selected', this).text().indexOf('Select') != -1) valid = false;
return valid;
});