为什么不jquery .html()正确插入选择列表的第一行

时间:2012-02-01 22:56:39

标签: php javascript jquery mysql html

我正在尝试将验证功能应用于选择选项,但我只想在先前的选择选项值为D

时执行此操作

这是我正在使用的代码;

<select name="ord_type" id="ord_type" onchange="chkValue(this)" class="{required:true}" >
        <option value="" selected="selected"></option>
        <option value="D">Delivery</option>
        <option value="CNC">Cash &amp; Carry</option>
      </select>

    <script>
    $("#ord_type").change(function () {
          var str = "";
          $("#ord_type option:selected").each(function () {
                str += $(this).val();       
    switch (str) {
    case "D":
        $(".del_txt").html('<select name="del_add_code" size="1" id="del_add_code" class="{required:true}">');
        break;
    case "C":
        // do nothing
        break;
    default:
        // do something if no match is found...
        break; // always break on default to keep consistency
        }
        });          
    })
        .change();
</script>
<div class="del_txt"></div>
      <?php
do {   
?>
<option value='' selected='selected'>Select Delivery Address</option>
      <option value="<?php echo $row_del_add['AC_code']?>"<?php if (!(strcmp($row_del_add['AC_code'], $row_del_add['AC_code']))) ?>><?php echo $row_del_add['AC_Add1'] . " - " . $row_del_add['AC_postcode']?></option>
      <?php
} while ($row_del_add = mysql_fetch_assoc($del_add));
  $rows = mysql_num_rows($del_add);
  if($rows > 0) {
      mysql_data_seek($del_add, 0);
      $row_del_add = mysql_fetch_assoc($del_add);
  }
?>

我试图插入的选择框的第一行有一个必要的验证,如果第一个选择的值是CNC我不希望它应用验证!

这就是我设置它不插入第1行的原因。

我还尝试使用jquery .html()函数插入第二个选择框的所有其余部分,但我仍然无法使其工作。

有没有人知道我哪里出错了,或者有没有人有其他更好的想法?

由于

1 个答案:

答案 0 :(得分:0)

以这种方式接近它?

$('select#del_add_code').removeClass('{required:true}');

然后您还可以检查您的验证,确保它在提交时获取要检查的内容列表......

$('#my_form').submit(function(event) {

  $('.{required:true}').each(function(index) {

     if ($(this).val().length==0){

        alert ('found something that is empty that is required');

     }

  });

});