jQuery 表示如果未选择某个选项


jquery to signify if an option is not selected

我想添加一个小代码片段来检查是否选择了某个选项如果页面是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代码的文件)?我的想法是人们曾经告诉我,javascript不能在php执行过程中调用,我想知道我是否需要使用ajax get函数。请提供一些帮助。谢谢。

// 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") - 如果选择元素当前没有值,这将导致页面立即填充#info元素。

将 jQuery 更改为:

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

jsFiddle 示例

更新:或更简短的版本:

j查询:

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

jsFiddle 示例

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