我无法解决这个问题。一旦用户选择了一个选项,使用Drupal并拥有一个我想要提交的表单。 HTML是
<form id="people-blockform" method="post" accept-charset="UTF-8" action="/people">
<div>
<div id="edit-filter-wrapper" class="form-item">
<label for="edit-filter">Filter: </label>
<select id="edit-filter" class="form-select" name="filter">
<optgroup label="label1">
<option value="all">Everyone</option>
<option value="option1">option1</option>
<option value="option2">option2</option>
</optgroup>
<optgroup label="Location">
<option value="loc1">loc1</option>
<option value="loc2">loc2</option>
</optgroup>
</select>
</div>
<input type="submit" class="form-submit" value="Filter" id="edit-submit" name="op">
<input type="hidden" value="form-ccd2e26e54becdc164411311ff397989" id="form-ccd2e26e54becdc164411311ff397989" name="form_build_id">
<input type="hidden" value="cb83794b5b00da15e546e12ec5499e64" id="edit-people-blockform-form-token" name="form_token">
<input type="hidden" value="people_blockform" id="edit-people-blockform" name="form_id">
</div>
</form>
我正在尝试使用的jQuery是这样的:
$(function () {
$("#edit-filter").live("change keyup", function () {
$("#people-blockform").submit();
});
});
非常感谢任何帮助
答案 0 :(得分:1)
这应该有效。如果您将以下代码放在自己的文件中,它将正常工作:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$("#edit-filter").live("change keyup", function () {
$("#people-blockform").submit();
});
});
</script>
</head>
<body>
<form id="people-blockform" method="post" accept-charset="UTF-8" action="test.php">
<div>
<div id="edit-filter-wrapper" class="form-item">
<label for="edit-filter">Filter: </label>
<select id="edit-filter" class="form-select" name="filter">
<optgroup label="label1">
<option value="all">Everyone</option>
<option value="option1">option1</option>
<option value="option2">option2</option>
</optgroup>
<optgroup label="Location">
<option value="loc1">loc1</option>
<option value="loc2">loc2</option>
</optgroup>
</select>
</div>
<input type="submit" class="form-submit" value="Filter" id="edit-submit" name="op">
<input type="hidden" value="form-ccd2e26e54becdc164411311ff397989" id="form-ccd2e26e54becdc164411311ff397989" name="form_build_id">
<input type="hidden" value="cb83794b5b00da15e546e12ec5499e64" id="edit-people-blockform-form-token" name="form_token">
<input type="hidden" value="people_blockform" id="edit-people-blockform" name="form_id">
</div>
</form>
</body>
</html>
看到这个工作是孤立的,它一定是其他东西搞乱了。
答案 1 :(得分:0)
检查你的jQuery版本。我正在进行的D6.16安装上有1.2.6,但直到1.3(http://api.jquery.com/live/)才添加.live
处理程序。因此,您的代码返回“TypeError:表达式'$("#edit-field-servicegroup-value").live' [undefined]
的结果不是函数。”。