如果数据量小于1,则禁用按钮

时间:2016-02-02 23:33:39

标签: jquery button custom-data-attribute

如果"数据量"我要禁用以下按钮属性小于1.我无法弄清楚如何正确地形成 if 语句来执行此操作。

<form>
<?php 

$numeroOption= $_POST['numero'];
$roomtype= $_POST['roomtype'];
$selectOption = $_POST['parkname'];
$query = "SELECT * FROM `ROOMS` WHERE `Capacity` < '$numeroOption' AND `Park` LIKE '$selectOption%' AND `dataProjector` LIKE '$proj_check%' AND `Whiteboard` LIKE '$white_check%' AND `OHP` LIKE '$ohp_check%' AND `WheelchairAccess` LIKE '$wheel_check%' AND `lectureCapture` LIKE '$cap_check%' AND `Style` LIKE '$roomtype%'"; 
$result = mysql_query($query);
if ($result == FALSE) die ("could not execute statement $query<br />");
echo "<form action='' method='post'>";
echo "<table>"; 

while($row = mysql_fetch_array($result)){                           
    echo "<tr><td>" . $row['roomCode'] . "</td>";
    echo "<td>" . $row['Style'] . "</td><td>" . $row['dataProjector'] . "</td>";
    echo "<td>" . $row['Whiteboard'] . "</td><td>" . $row['OHP'] . "</td>";
    echo "<td>" . $row['wheelchairAccess'] . "</td>";
    echo "<td>" . $row['lectureCapture'] . "</td>";
    echo "<td><input type='radio' name='radioSelect' value= '". $row['roomCode']."'></td>";
}
echo "<input type='submit' name='ttroom' id='ttroom' name='ttroom'>";
echo "</tr>";
echo "</table>"; 
echo "</form>";

我尝试过这样的事情:

<button type="submit" data-product_id="1" data-product_sku="test" data-quantity="0" class="add_to_cart_button button product_type_simple">Add to cart</button>

3 个答案:

答案 0 :(得分:1)

您的代码运行正常! 见下面的工作示例。

var cart_button = $('.add_to_cart_button');
if(cart_button.attr("data-quantity") < 1) {
    cart_button.prop("disabled", true);
}

// Ignore code below this line, it's just for the demo

$('.set_to_1').click(function() {
  cart_button.attr("data-quantity", 1);
  if(cart_button.attr("data-quantity") < 1) {
    cart_button.prop("disabled", true);
  } else {
    cart_button.prop("disabled", false);
  }
});
$('.set_to_0').click(function() {
  cart_button.attr("data-quantity", 0);
  if(cart_button.attr("data-quantity") < 1) {
    cart_button.prop("disabled", true);
  } else {
    cart_button.prop("disabled", false);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="submit" data-product_id="1" data-product_sku="test" data-quantity="0" class="add_to_cart_button button product_type_simple">Add to cart</button><br><br>

<!-- Ignore code below this line, it's just for the demo -->

<button class="set_to_1">Set data-quantity to 1</button> <button class="set_to_0">Set data-quantity to 0</button>

编辑:正如您在上面的代码段中所看到的,您的代码工作正常。这正是你如何使用这样一个if语句,这么好的工作!

现在,如果它仍然不适合你,请确保你有

  1. jQuery在标题中初始化
  2. 将代码包含在$(document).ready( function() {您的代码});
  3. 如果,它仍然不起作用,您应该打开控制台并刷新页面,然后发布此处显示的任何错误。它可能是你的javascript的一些其他部分(这里没有显示)破坏你的代码。

答案 1 :(得分:1)

您的代码对我来说很好;

jsfiddle:https://jsfiddle.net/y4jqp2vb/10/

$(function(){

    var cart_button = $('.add_to_cart_button');
    if(cart_button.attr("data-quantity") < 1) {
        cart_button.prop("disabled", true);
    }
});

将代码更新为其他问题,请参阅相同的小提琴:

 $(function(){

    var cart_button = $('.add_to_cart_button');
    $('.add_to_cart_button').each(function(){
            if( $(this).attr("data-quantity") < 1) {
        $(this).prop("disabled", true);
        }
    });
});

答案 2 :(得分:1)

jQuery内置了读取(和设置,如果需要)数据标签的能力。 Use the .data() syntax。请注意,您放弃了&#34;数据 - &#34;使用此属性时的前缀。另外,请确保将所有内容包装在document.ready函数中。

$(function(){
    var cart_button = $('.add_to_cart_button');
    if(cart_button.data("quantity") < 1) {
        cart_button.prop("disabled", true);
    }
});