Я пытаюсь получить предупреждение о замене опции select box.
Здесь я добавил имя класса css в каждый selectbox при повторении его в цикле, и, наконец, я вызвал функцию jquery с помощью селектора классов.
Но я не знаю, почему он не показывает предупреждение об изменении выпадающего списка selectbox. Пожалуйста, помогите мне решить эту проблему.
<table style="border:1px solid red;" width="650px">
<tr style="border:1px solid red;">
<td">Status</td>
</tr>
<?php
$qry = "select *from tracker group by orderno";
$res = mysql_query($qry) or die(mysql_error());
while($data = mysql_fetch_array($res))
{
?>
<tr style="border:1px solid red;">
<td ><label onclick="show(this.id)" id=<?php echo $data['orderno'];?> > <?php echo $data[1]; ?></label></font></td>
<td ><?php echo $data['customername']; ?></td>
<td align="center" style="border:1px solid red;"><?php echo $data['noofbooks']; ?></td>
<td ><?php echo $data['address']; ?></td>
<td ><?php echo $data['mobileno']; ?></td>
<td align="center" style="border:1px solid red;">
<select name="status" class="selectboxid">
<?php
if($data['status'] == "despatch")
{
echo '<option name="despatched" selected="selected" value="despatched"> Despatched </option>';
}
else
{
echo '<option name="despatched" value="despatched"> Despatched </option>';
}
if($data['status'] == "Pending")
{
echo '<option name="pending" selected="selected" value="pending"> pending </option>';
}
else{
echo '<option name="pending" value="pending"> pending </option>';
}
if($data['status'] == "deliver")
{
echo '<option name="despatched" selected="selected" value="despatched"> Despatched </option>';
}
else
{
echo '<option name="despatched" value="despatched"> Despatched </option>';
}
if($data['status'] == "partial")
{
echo '<option name="partial" selected="selected" value="partial"> Partial </option>';
}
else
{
echo '<option name="partial" value="partial"> Partial </option>';
}
?>
</select>
</td>
</tr>
<?php
}
?>
</table>
И мой код jquery;
<script>
$(".selectboxid").change(function() {
alert("hi");
});
</script>
Возможно, вы связали событие слишком рано (до загрузки DOM). Просто поместите функцию jQuery в jQuery(function(){ })
как показано ниже.
для опционного следует использовать on
вместо change
, его рекомендуют стиль.
jQuery(function(){
$(".selectboxid").on('change', function() {
alert("hi");
});
});
используйте это, не нужно $ (document).ready...
<script>
$(document).on("change",".selectboxid",function(){
alert("hi");
});
</script>
$(document).ready()
? Часто это выполняется до того, как элемент существует, и не привязывается ни к чему. И поскольку вы спрашиваете о проблеме с jQuery (front end), вы не должны включать ваш PHP-код, а просто поле выбора и Javascript, который не работает должным образом. Также в идеале используйте что-то вроде jsFiddle для демонстрации проблемы.