0

我有一个用 PHP 动态创建的选择列表。我还有一个 JQuery 脚本,它根据用户从列表中的选择修改表单,但是点击事件只能在 FF 中识别,但不能被 Safari 或 Chrome 识别(还没有尝试过 IE)。我试图更具体地使用 JQ 选择器,但这并没有帮助。这是我第一次尝试让网站在所有浏览器上运行,因此非常感谢所有帮助。

HTML

<select id="formcategory" name="Category">
  <option value="Select One">Select One</option>
  <option class="BloodSample" value="1">Blood Sample</option>
  <option class="Exercise" value="2">Exercise</option>
  <option class="InsulinInjection" value="3">Insulin Injection</option>
  <option class="Meal" value="4">Meal</option>
  <option class="Symptoms" value="5">Symptoms</option>
  <option class="UrineSample" value="6">Urine Sample</option>
</select>


PHP to create the select list:                  
<?php
  if(!$_POST) {
    echo "<option value='Select One'>Select One</option>";
    }
  else {
echo "<option value='".$_POST['Category']."'>".$_POST['Category']."</option>";
    }
    foreach($array1 as $key=>$val) {
  if($key<10) {
    echo "<option class='".(str_replace(" ","",$val))."'value='".$key."'>".$val. "</option>";
}
}

?>

JQ
$('#formcategory').on('click','option',function() {

    console.log($(this));//only FF finds the option selected        
4

1 回答 1

2

我不确定这是否是您的问题的原因,但我不会尝试检测click事件,option而是检测change事件select本身:

$('#formcategory').on('change', function() {
    console.log($(this).val());
}

另一个优点是它也允许键盘选择。

于 2013-10-31T21:55:44.140 回答