特定のドロップダウンの値が選択されていない場合、送信ボタンを無効にしようとしています。ドロップダウンとボタンのコードは次のようになります。
<li>
<select name="names" id="names">
<option value="">Constituency</option>
<!-- populates the drop down with names -->
<?php foreach ($cons as $constituency): ?>
<option value="<?php htmlout($constituency['ids']); ?>">
<?php htmlout($constituency['names']); ?>
</option>
<?php endforeach; ?>
<?php if (isset($selectError)): ?>
<p><?php htmlout($selectError); ?></p>
<?php endif; ?>
</select>
</li>
<li><input type="hidden" name="action" value="search"></li>
<li><input type="submit" value="SEARCH" class="button search" id="jsbutton" disabled="disabled"></li>
したがって、ドロップダウンのIDは「names」で、ボタンのIDは「jsbutton」で、「disabled」に設定されています。
次に、次のJQueryを使用してターゲットを設定しようとしましたが、ボタンは無効のままです。
$(document).ready(function() {
if ($('#names').val() = '')
{
$('#jsbutton').attr('disabled', 'disabled');
}
else
{
$('#jsbutton').removeAttr('disabled');
}
});
だから私がやろうとしているのは:
- dropdpwnから値が選択されているかどうかを確認します。
- まだボタンを無効にしていない場合。
- それ以外の場合、ドロップダウンから値が選択されているため、ボタンを有効にする必要があります。
これに関するどんな助けもありがたいです。
ドロップダウンをポピュレートするPHP:
try
{
$cons_result = $pdo->query("SELECT id, name
FROM constituency
ORDER BY name");
}
catch (PDOException $e)
{
$error = 'Error fetching constituencies from database!' . $e->getMessage();
include 'error.html.php';
exit();
}
foreach ($cons_result as $rows)
{
$cons[] = array('ids' => $rows['id'], 'names' => $rows['name']);
}
include 'searchform.html.php';
}