jquery表示是否未选择选项

时间:2012-05-15 03:14:02

标签: php html

我想添加一个小代码片段来检查是否选择了一个选项 如果页面是html,这通常很容易完成,现在我的代码片段看起来像这样

echo "<td>Language</td>";
echo "<td><select id='language' name='language'>
            <option value=''>Select...</option>
            <option value='en_US'>English(US)</option>
            <option value='en_AU'>English(AU)</option>
            <option value='en_UK'>English(UK)</option>
          </select><span id="info"></span>
      </td>";   

如果是html

<script>
   $('#language').change()
   {
     if('Select...'==$('#language').text())
     {
        $('#info').html("Please select a value...");
     }
   }
</script>

[更新

我想补充一点,用于生成html代码的上述php源代码放在一个表单标签中

echo "<form action='checkdb.php' method='POST'>
    // all above and more
    </form>"

页面checkdb.php使用发布的数据来更新数据库。

如何添加当前文件中提到的jquery代码片段(正在生成带有html代码的文件)?我在想人们曾经告诉我,在php执行过程中无法调用javascript,我想知道是否需要使用ajax get函数。请提供一些帮助。谢谢。

3 个答案:

答案 0 :(得分:1)

将您的jQuery更改为:

$('#language').change(function() {
    if ('Select...' == $('#language option:selected').text()) {
        $('#info').html("Please select a value...");
    }
});​

<强> jsFiddle example

更新:或更简短的版本:

jQuery的:

$('#language').change(function() {
    $('#info').html(('Select...' == $('#language option:selected').text()) ? "Please select a value...":"");
});​

<强> jsFiddle example

答案 1 :(得分:1)

// Listen, and respond to, the change even on our select
$("#language").on("change", function(e){
  // Set the html content of our info element
  $("#info").html(function(){
    // If the selected option has no value, ask to select a value
    return e.target.value === "" ? "Please select a value." : "" ;
  });
// Trigger upon page load
}).trigger("change");

演示:http://jsbin.com/owaqaz/2/edit

请注意最后一行$.trigger("change") - 如果select元素当前没有值,这将导致页面立即填充#info元素。

答案 2 :(得分:0)

抱歉,你的问题是什么? PHP页面在处理后变成HTML页面(用户永远不会看到PHP源代码),您可以轻松使用javascript来检查值。