2017-07-12 13 views
1

私はドロップダウンの選択に基づいてdivを隠して表示しています。ドロップダウンは常に0の値を返します。ドロップダウンは常に0を返します

$(document).ready(function() { 
 
    $('#rel_status').on('change', function() { 
 
    if (this.value == 'never') { 
 
     $("#pre_rel").hide(); 
 
    } else { 
 
     $("#pre_rel").show(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select class="form-control" name="relationship_status" id="rel_status"> 
 
\t \t <option value="-1">Please Select</option> 
 
    <option value="never">Never Married</option> 
 
    <option value="divorced">Divorced</option> 
 
    <option value="waiting">Waiting for Divorce</option> 
 
    </select> 
 

 

 
<div id="pre_rel" style="display:none;"> 
 
    hi 
 
</div>
PHPコード:rel_statusを除き、他のすべてのフィールドが正常に動作しています。それはデータベースに0を保存しています。

if(isset($_POST['save'])) 
{ 
    $about_me= $_POST['about_me']; 
    $relationship_status= $_POST['relationship_status']; 
    $pre_relationship=$_POST['pre_relationship']; 
    $weight=$_POST['weight']; 
    $height=$_POST['height']; 
    $eye_color=$_POST['eye_color']; 
    $hair_color=$_POST['hair_color']; 
    $language_first=$_POST['language_first']; 
    $language_second=$_POST['language_second']; 
    $ethnic_group=$_POST['ethnic_group']; 
    $stmt = $conn->prepare("update user set about_me='$about_me',rel_status='$relationship_status',pre_relationship='$pre_relationship',weight='$weight',height='$height',eye_color='$eye_color',hair_color='$hair_color',primary_language='$language_first',second_language='$language_second',ethnic_group='$ethnic_group' where user_id='".$_SESSION['userid']."'"); 

$stmt->bind_param("ssssssssss", $about_me,$relationship_status,$pre_relationship,$weight,$height,$eye_color,$hair_color,$language_first,$language_second,$ethnic_group); 
$stmt->execute(); 

$ stmt-> close();

+5

正常に動作しているようです。 – H77

+0

あなたがチェックするために===記号を使用していない可能性があります。あなたもそれを試すことができます – zenwraight

+5

あなたのコードはうまく動作しますhttps://jsfiddle.net/j08691/hu1znzgo/。あなたの質問を更新して、あなたが投稿したものが動作することを示しました。 – j08691

答えて

-4

値属性では選択値にアクセスできません。オプションをループし、選択したフラグを追跡する必要があります。 (複数のattrを使用する場合は、selectで1つ以上のオプションを選択できます)

var val = null; 
document.getElementById('mySelect').options.forEach(function(o) { 
    if(o.selected) val = o.value; 
}); 
+0

OPの投稿コードは正常に動作します。https://jsfiddle.net/j08691/hu1znzgo/ – j08691

関連する問題